Stefanie
10.07.2010, 21:18
Ich nutze ein LCD-Display und habe mir dazu eine Ausgabefunktion für Strings geschrieben:
void LCD_putsf(flash char* string)
{
char len;
char i;
len = strlenf(string);
SS_LCD = 0;
spi(0xAA);
spi(0x05); //Blocksenden
spi(len+3);
spi('D');
spi('T');
for (i = 0; i < len; i++)
{
spi(string[i]);
}
spi(0x00);
SS_LCD = 1;
}
Die Funktion funktioniert soweit, aber ich erhalte an der Ausgabe noch folgende Fehler:
-teilweise werden Buchstaben "verschluckt"
-für einzelne Buchstaben wird das um 64dez erniedrigte Zeichen der ASCII-Tabelle angezeigt (z.B. 5 statt u, % statt e usw.)
Die Fehler tauchen mitten im String auf und jedesmal an anderen Stellen.
Ich lasse dem Display auch genug Zeit. Außerdem habe ich es auch mir kurzen Strings versucht (nur immer ein Wort), da ist es zwar etwas besser, aber der Fehler ist auch nicht behoben.
Mit was kann dieser Fehler zu tun haben?
void LCD_putsf(flash char* string)
{
char len;
char i;
len = strlenf(string);
SS_LCD = 0;
spi(0xAA);
spi(0x05); //Blocksenden
spi(len+3);
spi('D');
spi('T');
for (i = 0; i < len; i++)
{
spi(string[i]);
}
spi(0x00);
SS_LCD = 1;
}
Die Funktion funktioniert soweit, aber ich erhalte an der Ausgabe noch folgende Fehler:
-teilweise werden Buchstaben "verschluckt"
-für einzelne Buchstaben wird das um 64dez erniedrigte Zeichen der ASCII-Tabelle angezeigt (z.B. 5 statt u, % statt e usw.)
Die Fehler tauchen mitten im String auf und jedesmal an anderen Stellen.
Ich lasse dem Display auch genug Zeit. Außerdem habe ich es auch mir kurzen Strings versucht (nur immer ein Wort), da ist es zwar etwas besser, aber der Fehler ist auch nicht behoben.
Mit was kann dieser Fehler zu tun haben?