PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Analog/Digital-wandler - mehrere Eingänge hintereinander abfragen



raist
03.09.2012, 15:33
Hi,

ich möchte grade mit meinem Atmega2560 zwei ADC Eingänge hintereinander abfragen. Also zuerst Eingang a und direkt danach Eingang b. Das Problem ist, dass ich an beiden Eingängen die gleichen Werte erhalte. Frag ich sie einzeln ab, erhalte ich unterschiedliche (so wie es sein soll). Achso, ich mache die Sache im Inline Assembler von Bascom, falls das von Bedeutung sein sollte.




ADCSRA = &b10000111

...

$asm
'Sensor links lesen

LDI r16, &b01000011
OUT ADMUX, r16
LDI r16, &b00001000
OUT ADCSRB, r16
SBI ADCSRA, ADSC

IN r18, ADCL
IN r19, ADCH

'Sensor rechts lesen

LDI r16, &b01000010
OUT ADMUX, r16
LDI r16, &b00001000
OUT ADCSRB, r16
SBI ADCSRA, ADSC

IN r20, ADCL
IN r21, ADCH

...

$end asm


Wäre dankbar um einige Tipps, ich habe nämlich erst vor zwei Wochen damit angefangen ;)

raist
03.09.2012, 22:06
Ok, Problem gelöst. Nach "SBI ADCSRA, ADSC" sollte man auch warten bis er mit der Wandlung fertig ist. Falls es wen interessiert:

Warten:
sbic ADCSRA, ADSC
rjmp Warten