Hallo,
also jetzt geht es! =D>
Kollege hat mir geholfen.
Das Problem lag wie ich vermutete in der Routine LCD_setCursorPos(y,x);
Es funktioniert zwar aber ich weis nicht warum
Verstehst du es vielleicht?
er hat nur dass geändert
address += 88;
// address += 24;
Hier der funktionierende Code:
Code:
// setzt den Cursor an die angegebene Position (y = Zeile, x = Spalte)
void LCD_setCursorPos(const unsigned char y, const unsigned char x)
{
// Adresse aus x und y berechnen
// Adressen sind wie folgt: Zeile 0 = 0; Zeile 1 = 64; Zeile 2 = 128; Zeile 3 = 192; Zeile 4 = 0+24; Zeile 5 = 64+24; Zeile 6 = 128+24; Zeile 7 = 192+24
// unsigned char address = x + ((y % 4) << 6);
unsigned char address = x + y * 48;
if (y > 3)
address += 88;
// address += 24;
LCD_sendByte(address, (1<<LCD_OC1_PIN) | (1<<LCD_OC2_PIN));
}
Lesezeichen