void main(void) { int x,y; char buffer[16]; lcd_init(LCD_DISP_ON); sbi (ADCSR, ADEN); //Enable //Teilung: 32 sbi (ADCSR, ADPS2); //Teilung 3.Bit cbi (ADCSR, ADPS1); //Teilung 2.Bit sbi (ADCSR, ADPS0); //Teilung 1.Bit cbi (ADCSR, ADFR); //Free Run Mode cbi (ADCSR, ADIF); //Interrupt Flag cbi (ADCSR, ADIE); //Interrupt Enable cbi (ADMUX, MUX2); //Multiplexer 3.Bit cbi (ADMUX, MUX1); //Multiplexer 2.Bit cbi (ADMUX, MUX0); //Multiplexer 1.Bit for(;;){ sbi (ADCSR, ADSC); //Start Conversation while (bit_is_set (ADCSR, ADIF)); //Warte bis ADIF wieder 0 ist x = inp(ADCH); y = inp(ADCL); lcd_clrscr(); itoa(x,buffer,10); lcd_puts(buffer); lcd_puts(" "); itoa(y,buffer,10); lcd_puts(buffer); delay(200); } } ich hab am PA0 (ADCO) von meinem AT90S8535 eine Spannung (ca. 2,8V) angelegt und möchte diese nun über den A/D Wandler messen. Als Aref hb ich +Vcc genommen. Aber leider zeigt das LCD immer noch 0 (für das High und das Low Byte) an. Wäre für Hilfe sehr dankbar!! MfG, Max
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.