Hallo! Ich benutze einen AVR Controller mit einem t6963 Display. Dazu habe ich die Funktion itoa in Benutzung. Programmiertool CodeVision AVR. Ich bekomme die Zahl 236 nicht auf dem Display angezeigt. Was mache ich da falsch? void main(void) { unsigned char speicher[10]; unsigned int i; itoa(236,speicher); while (1) { if(PIND.6 == 1) { for(i=1;i<=10;i++) { lcd_write_char(speicher[i],1,1); } } }; }
itoa (...) bekommt drei Werte übergeben. Schau mal in die stdlib.h rein.
Nein bei CodeVision AVR nicht. "void itoa(int n, char *str)//converts the integer n to characters in string str." Ich habe es jetzt so halbwegs hinbekommen. Das Problem ist, dass manchmal auf dem Display andere Zeichen angezeigt werden.Hmm...
hallo, ich kenn zwar die funktion lcd_write_char() nicht (selbst geschrieben???? wozu denn, codevision hat eine eigene) aber mir fallen gleich zwei fehler auf: 1. es muss for(i=0;i<10;i++) heissen, denn speicher[10] hat elemente von 0..9; 2. falls die "1,1" in lcd_write_char() die aktuelle cursorposition bedeutet, muss es "i+1,1" heissen (oder "1,i+1", je nachdem wo x und wo y ist)(angenommen deine x,y fangen mit 1 und nicht mit 0 an...)
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.