1 #ifndef __SWM320_LCD_H__
2 #define __SWM320_LCD_H__
3 
4 
5 typedef struct {
6     uint16_t HnPixel;       //水平方向像素个数,最大取值1024
7     uint16_t VnPixel;       //垂直方向像素个数,最大取值 768
8     uint8_t  Hfp;           //horizonal front porch,最大取值32
9     uint8_t  Hbp;           //horizonal back porch, 最大取值128
10     uint8_t  Vfp;           //vertical front porch, 最大取值8
11     uint8_t  Vbp;           //vertical back porch,  最大取值32
12     uint8_t  ClkDiv;        //系统时钟经ClkDiv分频后产生DOCCLK,0 2分频    1 4分频    2 6分频    ... ...    31 64分频
13     uint8_t  SamplEdge;     //屏幕在DOTCLK的哪个边沿采样数据:LCD_SAMPLEDGE_RISE、LCD_SAMPLEDGE_FALL
14     uint8_t  ClkAlways;     //1 一直输出DOTCLK    0 只在传输数据时输出DOTCLK
15     uint8_t  HsyncWidth;    //HSYNC低电平持续多少个DOTCLK,取值:LCD_HSYNC_1DOTCLK、LCD_HSYNC_2DOTCLK、LCD_HSYNC_3DOTCLK、LCD_HSYNC_4DOTCLK
16 
17     uint8_t  IntEOTEn;      //End of Transter(传输完成)中断使能
18 } LCD_InitStructure;
19 
20 
21 #define LCD_SAMPLEDGE_RISE  0   //屏幕在DOTCLK的上升沿采样数据
22 #define LCD_SAMPLEDGE_FALL  1   //屏幕在DOTCLK的下降沿采样数据
23 
24 #define LCD_HSYNC_1DOTCLK   0   //1个DOTCLK
25 #define LCD_HSYNC_2DOTCLK   1
26 #define LCD_HSYNC_3DOTCLK   2
27 #define LCD_HSYNC_4DOTCLK   3
28 
29 #define LCD_CLKDIV_2        0
30 #define LCD_CLKDIV_4        1
31 #define LCD_CLKDIV_6        2
32 #define LCD_CLKDIV_8        3
33 #define LCD_CLKDIV_10       4
34 #define LCD_CLKDIV_12       5
35 #define LCD_CLKDIV_14       6
36 #define LCD_CLKDIV_16       7
37 #define LCD_CLKDIV_18       8
38 #define LCD_CLKDIV_20       9
39 #define LCD_CLKDIV_22       10
40 #define LCD_CLKDIV_24       11
41 #define LCD_CLKDIV_26       12
42 #define LCD_CLKDIV_28       13
43 #define LCD_CLKDIV_30       14
44 #define LCD_CLKDIV_32       15
45 #define LCD_CLKDIV_34       16
46 #define LCD_CLKDIV_36       17
47 #define LCD_CLKDIV_38       18
48 #define LCD_CLKDIV_40       19
49 #define LCD_CLKDIV_42       20
50 #define LCD_CLKDIV_44       21
51 #define LCD_CLKDIV_46       22
52 #define LCD_CLKDIV_48       23
53 #define LCD_CLKDIV_50       24
54 #define LCD_CLKDIV_52       25
55 #define LCD_CLKDIV_54       26
56 #define LCD_CLKDIV_56       27
57 #define LCD_CLKDIV_58       28
58 #define LCD_CLKDIV_60       29
59 #define LCD_CLKDIV_62       30
60 #define LCD_CLKDIV_64       31
61 
62 
63 void LCD_Init(LCD_TypeDef * LCDx, LCD_InitStructure * initStruct);
64 void LCD_Start(LCD_TypeDef * LCDx);
65 uint32_t LCD_IsBusy(LCD_TypeDef * LCDx);
66 
67 void LCD_INTEn(LCD_TypeDef * LCDx);
68 void LCD_INTDis(LCD_TypeDef * LCDx);
69 void LCD_INTClr(LCD_TypeDef * LCDx);
70 uint32_t LCD_INTStat(LCD_TypeDef * LCDx);
71 
72 
73 #endif //__SWM320_LCD_H__
74