Hallo liebe community, warum bringt mir dieser Code (atmega168, Taktfrequenz: 8 MHZ): cbi(ADCSRA,ADPS0);sbi(ADCSRA,ADPS1);sbi(ADCSRA,ADPS2);//prescalar = 64 sbi(ADCSRA,ADEN ); sei(); cbi(ADMUX,MUX0);cbi(ADMUX,MUX1);cbi(ADMUX,MUX2);cbi(ADMUX,MUX3);//Eingan g PC0 loop_until_bit_is_clear(ADCSRA, ADSC); while (1) { sbi(ADCSRA, ADSC); //измеряем канал А loop_until_bit_is_clear(ADCSRA, ADSC); uint16_t current_level1 = ADCL; //читаем первые 8 бит current_level1 += (ADCH<<8); //и остальные 2 бита PORTB ^= (1<<PB0); } nur eine ADC Messung pro Millisekunde? sollte laut DS um 10000 mal pro Sekunde messen können - mit meinen Einstellungen... vielen Dank im voraus Slava
lau--de schrieb: > nur eine ADC Messung pro Millisekunde? sollte laut DS um 10000 mal pro > Sekunde messen können also ein Faktor 10. Mit etwas gutem Willen kann man das als Faktor 8 auffassen. > - mit meinen Einstellungen... Da wage ich, das hier > Taktfrequenz: 8 MHZ in Zweifel zu ziehen. CKDIV8 Fuse noch programmiert?
hm, habe bestimmt vorher gecheckt aber war seltsamerweise gesetzt; DANKE! :)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.