Forum: Mikrocontroller und Digitale Elektronik Probleme mit Funktion "itoa"


von Martin (Gast)


Lesenswert?

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);
           }
         }

      };
}

von Alex (Gast)


Lesenswert?

itoa (...) bekommt drei Werte übergeben. Schau mal in die stdlib.h rein.

von Martin (Gast)


Lesenswert?

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...

von emil (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.