hallo,
Ich arbeite mit einem STM32F103ZET6 und einem Display 800x480 Pixel mit
SSD1963 ,
so nun meine frage bezüglich den Displayinhalt zu Scrollen.
Das Scrollen funktioniert ansich auch aber auf der Gesamten Breite von
800 pixeln und in der gesamten Höhe von 480 Pixel.
Gibt es da eine Möglichkeit das so einzustellen das ich nur einen
bestimmten Bereich Scrollen kann zb. in X 300 und in Y 200 Pixel.
Mit Scroll_Test(); kann ich den Gesamten Display inhalt von unten nach
oben Scrollen.
vielleicht kann mir da einer Weiterhelfen.
danke
Meine Funktion:
1 | /****************************************************************************
|
2 | SCROLL TEST
|
3 | ****************************************************************************/
|
4 | void Scroll_Test(void)
|
5 | {
|
6 | u16 y;
|
7 |
|
8 | DrawString(0,28,"SCROLL TEST",&Arial_16x25,WHITE,RED);
|
9 |
|
10 | Set_Scroll_Area(0,480,0);
|
11 |
|
12 | for( y = 0; y < 480; y++ )
|
13 | {
|
14 | Set_Scroll_Start(y );
|
15 | delay_ms(5);
|
16 | }
|
17 | }
|
18 |
|
19 |
|
20 |
|
21 |
|
22 | /****************************************************************************
|
23 | Setzen der SCROLL AREA nur in Y
|
24 | ****************************************************************************/
|
25 | void Set_Scroll_Area(u16 top,u16 scroll,u16 bottom)
|
26 | {
|
27 | LCD_WriteCom(0x0033);
|
28 | LCD_WriteRAM(top>>8);
|
29 | LCD_WriteRAM(top);
|
30 | LCD_WriteRAM(scroll>>8);
|
31 | LCD_WriteRAM(scroll);
|
32 | LCD_WriteRAM(bottom>>8);
|
33 | LCD_WriteRAM(bottom);
|
34 |
|
35 | }
|
36 | /****************************************************************************
|
37 | SCROLL AREA Start
|
38 | ****************************************************************************/
|
39 | void Set_Scroll_Start(u16 linee )
|
40 | {
|
41 | LCD_WriteCom(0x0037);
|
42 | LCD_WriteRAM(linee>>8);
|
43 | LCD_WriteRAM(linee);
|
44 | }
|