Hallo Leute, Ich habe auf der Seite 43 im Datenblatt (link unten) des SSD1289 Display Controllers gesehen, dass ich über die drei Bits ID[1:0] sowie AM ganz einfach die Orientierung (Portrait/Landscape) ändern kann, um somit nicht meine Library Softwareseitig zum "Schreiben auf der Seite" bringen erweitern muss. Da dachte ich, mache ich das mal so:
1 | void lcdSetOrientation(uint8_t orientation) { |
2 | uint16_t temp; |
3 | |
4 | temp = lcdReadReg(0x0011); |
5 | |
6 | switch(orientation) { |
7 | case 0: |
8 | lcdWriteReg(0x0011, temp | 0x0038); // Portrait (default) |
9 | break; |
10 | case 1: |
11 | lcdWriteReg(0x0011, temp | 0x0030); // Landscape |
12 | break; |
13 | case 2: |
14 | lcdWriteReg(0x0011, temp | 0x0000); |
15 | break; |
16 | case 3: |
17 | lcdWriteReg(0x0011, temp | 0x0000); |
18 | break; |
19 | }
|
20 | }
|
Leider passiert da nicht viel, im Gegenteil: selbst wenn ich 2 oder 3 als Paramter übergebe, wird ein Zeichnen auf dem LCD unmöglich. Hat jemand von euch Erfahrung damit? Muss ich noch etwas anderes machen, als die drei Bits zu manipulieren? Etwas neu Initialisieren? Danke für euere Hilfe! ~ Tectu Datenblatt: http://www.google.ch/url?sa=t&rct=j&q=ssd1289%20datasheet&source=web&cd=1&ved=0CGQQFjAA&url=http%3A%2F%2Fwww.gpegint.com%2Ffiles%2Flibrary%2Ffiles%2Fsupportpdf%2FDriver%2520IC%2520SSD1289.pdf&ei=hVvBT7W5C8WD8gPd7LG8Cg&usg=AFQjCNGDEAcVE6pHj-K7APljFkYfrCSxWw&cad=rja