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.