displayer schrieb:
> Ok jetz geht mal die erste Zeile. Aber warum nicht die 2.?
>
Höchst wahrscheinlich stimmen hier
1 | void lcd_goto( int row, int col )
|
2 | {
|
3 | uint8_t tmp = 0x00;
|
4 |
|
5 | switch (row)
|
6 | {
|
7 | case 1: tmp=0x80+0x00+col; break; // 1. Zeile
|
8 | case 2: tmp=0x80+0x40+col; break; // 2. Zeile
|
9 | case 3: tmp=0x80+0x10+col; break; // 3. Zeile
|
10 | case 4: tmp=0x80+0x50+col; break; // 4. Zeile
|
11 | }
|
12 | lcd_cmd( tmp );
|
13 | }
|
die Offsets (0x00, 0x40, 0x10, 0x50) nicht mit denen überein, die dein
LCD benutzt.
Gib einfach mal einen langen String ab Position 0,0 aus
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
(das sollte reichen)
bei irgendeinem Buchstaben wird das LCD anfangen, die zweite Zeile zu
beschreiben. Den Buchstaben merkst du dir und zählst ab, der wievielte
das in deinem String war. Das ist der Offset.