Forum: Mikrocontroller und Digitale Elektronik Atmega 1280 ADC <7 funktioniert nicht


von Flo (Gast)


Lesenswert?

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...

von Flo (Gast)


Lesenswert?

Keiner eine Ahnung?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Flo schrieb:
> Keiner eine Ahnung?

Es wird schon JTAG sein.  Das kann man per JTD-Bit auch zur
Laufzeit ausschalten, unterstützt BASCOM das irgendwie?

JTAG belegt aber nur die Hälfte der Portpins, die andere Hälfte
sollte gehen.

von Flo (Gast)


Lesenswert?

JTAG ist es nicht. Da hab ich schon mehr als 1 mal nachgeschaut. Auch 
mit 2 verschiedenen Programmen die Fuses ausgelesen und auch so gesetzt, 
das JTAG nicht enabled ist. Dennoch funktioniert es nicht.

von Uwe (Gast)


Lesenswert?

Dann teste doch mal deine Hardware mit einem anderen Compiler.
Z.B.: avr gcc, pascal, LunaAVR.

- uwe

von MWS (Gast)


Lesenswert?

Schau Dir das Datenblatt an, MUX5..0 für Single Ended ADC8 = 32, also 
verwende mal Offset 32.
Könnte ein Fehler in der Hilfe sein.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.