Hallo ihr Super-Programmierer! Ich hoffe ihr könnt mir helfen!
Ich möchte am LCD einen gemessenen Wert ausgeben. Da ich nur Zeichen ans Display sende, muss ich ja die Integer oder Float oder wie auch immer zuerst in CHAR umwandeln. Ich habe verschiedene Routinen wie itoa, sprintf oder ultoa gefunden. Alle funktionieren im C++ Builder von Borland, ich habs dort auf dem Computermonitor kurz getestet und funktioniert. Nun bleibt bei meinem AT90S8515 aber das Programm irgendwie hängen, wenn ich diese Routine mehr als 1-mal verwende! Grrrr.... Ich möchte doch nur ein Testprogramm für das LCD schreiben, dass eine Integerzahl fortlaufen Inkrementiert in ca. 1s abständen, aber es läuft und läuft nicht!!!!
Code:
#include <io.h>
#include <stdio.h>
int a;
char test[10];
int main(void)
{
a=1; // Den Wert 1 in die Integerzahl "a" schreiben
disp_init(); // Display initialisieren
disp_clear(); // Display löschen
while(1) // Endlosschleife
{
sprintf(test,"Zahl: %i",a); // Int "a" nach Char "test" umwandeln
disp_write_ln(test,0x00); // Char "test" ans Display auf Spalte 0 schreiben
for(i=1; i<5000; i++); // Warteschleife (ca.1s)
a++; // a inkrementieren
}
}
Ich hoffe ihr könnt mir helfen!!! Würde mich freuen, wenn mal ein bisschen Bewegeung aufs Display kommt und nicht immer die gleiche Zahl dortstehen würde!!!
Merci
Lesezeichen