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
Solltest eigentlich schon gemerkt haben, daß Du hier in der Codesammlung bist. D.h. hier stehen normalerweise nur funktionierende Codes. Fragen werden unter "Allgemein" beantwortet. Wundere Dich also nicht, wenn hier fast keiner antwortet. Peter
Hallo! Habe ein Problem das ich nicht lösen kann, bitte um ihre Hilfe. Es geht um: Erstellung eines Programmes (GNU-C, BASCOM-AVR) zum Einlesen von analogen Signalen über den internen AD-Wandler des AVR-Kontrollers mit Ausgabe über das LCD-Display auf der Zusatzplatine. Es sind die analogen Werte aller acht Kanäle darzustellen.Dazu habe ich 4Mhz Quarz. Wenn jemand Ahnung hat wie ich das realisieren soll, bitte um HILFE!!! Danke schon im voraus!!!!!!
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.