Hi Leute, will den AD-Wandler von Atmega32 benutzen, um Werte von einem Poti einzulesen. Das Problem ist, dass ich den AD-Wandler nicht zum laufen kriege.Ist das ersten Mal, dass ich ne Mikrocontroller benutze. Hoffe es kann mir jemand helfen!!! Hier der Quellcode: #include<avr/io.h> int main (void) { MCUCSR = (1<<JTD); MCUCSR = (1<<JTD); DDRB = 0xFF; // port B output DDRC = 0x00; // port C input int x = 0; // Activate ADC with Prescaler 16 --> 1Mhz/16 = 62.5kHz ADCSRA = _BV(ADEN) | _BV(ADPS2); for (;;) { ADMUX = 0; // Select pin ADC0 using MUX ADCSRA |= _BV(ADSC); //Start conversion // wait until converstion completed while (ADCSRA & _BV(ADSC) ) {} x = ADCW; // get converted value PORTB = x>>2; // output the higher 8 bits } } Danke schon mal!!!! mfg fuzzy
Was genau läuft denn nicht? Wird der ADC mit der Wandlung nicht fertig? Oder kommen komische Werte raus? Sind AVCC und AGND korrekt angeschlossen? Ist der Port richtig konfiguriert (Eingänge ohne Pull-Ups)?
ich meine mal im tutorial gelesen zu haben, dass nach dem umschalten des adc-eingangs der erste wert zu verwerfen sei...
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.