Guten Abend allerseits
Nach langer Fehlersuche weis ich noch immer nicht, warum der AD-Wandler meinesATmega8 nicht geht ...
Ich habs jetzt mal gekürzt soweit wie möglich. Das Problem ist, dass die while-Schleife while(ADCSRA & (1 << ADSC)) nie verlassen wird.
Was mache ich falsch???
MfG
- C. Lechner
Code:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <inttypes.h>
int main(void)
{
uint8_t x;
DDRD = 0xff;
ADMUX = 0x40;
ADCSRA = (1 << ADEN) | 0x07;
while(1)
{
ADCSRA |= (1 << ADSC);
while(ADCSRA & (1 << ADSC));
x++;
if (x & 0x01)
PORTD = 0x00;
else
PORTD = 0xff;
}
return(0);
}
Lesezeichen