Hallo,
ich versuche seit Stunden alle ADC Kanäle des Atmega 1280 zum laufen zu
bringen. Alle Kanäle von 0-7 Funktionierten. Alle oberhalb (also die an
PortK) funktionieren nicht.
zur Info: Ich verwende Bascom.
Als Beispielprogramm ahbe ich das von der Bascomhilfe verwendet:
1 | Config Adc = Single , Prescaler = Auto , Reference = Avcc
|
2 |
|
3 | Start Adc
|
4 |
|
5 |
|
6 |
|
7 | Dim W As Word , Channel As Byte
|
8 |
|
9 |
|
10 |
|
11 | Do
|
12 |
|
13 | W = Getadc(1)
|
14 |
|
15 | Locate 1 , 1
|
16 | Lcd " value " ; W
|
17 |
|
18 |
|
19 |
|
20 | Loop
|
21 |
|
22 | End
|
So wenn ich für Getadc(x) für x 0-7 eingebe, kann ich die Kanäle 0-7
ansprechen. Soweit so gut. Aber wenn ich 8-15 eingebe, kann ich diese
Kanäle nicht ansprechen. So in der Bascom Hilfe steht, man soll dieses
Format hier verwenden:
1 | An example on how to read singled ended input on a Mega1280:
|
2 |
|
3 | W = Getadc(0 , 64) ' from data sheet : 100000 ADC8
|
4 |
|
5 | W = Getadc(1, 64) ' from data sheet : 100001 ADC9
|
6 |
|
7 | This will read channel 0 and 1. The offset is 64 in order to use singled ended input.
|
8 |
|
9 | ADC8 is portK.0
|
Nun, das funktioniert aber auch nicht. Nach ein bischen Googlen habe ich
herausgefunden, dass es JTAG sein könnte, aber ich habe in den Fuses
nachgeschaut und auch noch mal gesetzt, damit kein JTAG aktiviert ist.
So jetzt bin ich mit meinem Latein am Ende und hoffe einer von euch hat
die Lösung...