Gast
#34404
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