Gast
#46099
Hallo, Ich schlage mich nun schon die ganze Nacht und den halben Tag mit diesem Problem rum. Ich habe einen Temperatursensor am ADC Wandler meines AVRs. Bis jetzt habe ich einfach den freerun Modus angeschaltet und ab und zu mal die Werte eingelesen. Die temperaturen stimmten alle und ich war glücklich. Nun wollte ich aber auf den single conversion modus umstellen und immer die Kanäle umschalten. Nun zeigt er nur noch mist an, selbst, wenn ich alle sensoren abziehe. Wenn ich einen Sensor kalt mache, dann gehen alle anderen auch runter. Die ausgelesenen werte scheinen völlig beliebig zu sein. vielleicht mache ich was falsch. Hier der code, mit dem ich die werte auslese. Im Programm: ldi mp,0x01 out ADMUX,mp RCALL ADC IN SLOW,ADCL IN SHIGH,ADCH Zum Kanal setzen und aufrufen des unterprogrammes adc: LDI up,0b11000110 OUT ADCSR,up adcwait: IN up,ADCSR ;soll auf ende der conversation warten SBRC up,ADSC RJMP adcwait LDI up,0b10000110 ;0xE6 OUT ADCSR,up RET Danach lese ich mit: ldi mp,0x02 out ADMUX,mp RCALL ADC IN SLOW,ADCL IN SHIGH,ADCH den nächsten sensor ein. DAs klappt aber nun gar nicht. Bitte helft!