81 lines
2.4 KiB
C
81 lines
2.4 KiB
C
|
#ifndef __SWM320_LCD_H__
|
|||
|
#define __SWM320_LCD_H__
|
|||
|
|
|||
|
|
|||
|
typedef struct {
|
|||
|
uint8_t Interface; //LCD<43><44><EFBFBD>ӿڣ<D3BF>LCD_INTERFACE_RGB<47><42>LCD_INTERFACE_I80<38><30>LCD_INTERFACE_M68
|
|||
|
|
|||
|
/* RGBͬ<42><CDAC><EFBFBD>ӿڲ<D3BF><DAB2><EFBFBD> */
|
|||
|
uint16_t HnPixel; //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ1024
|
|||
|
uint16_t VnPixel; //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ 768
|
|||
|
uint8_t Hfp; //horizonal front porch<63><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ32
|
|||
|
uint8_t Hbp; //horizonal back porch<63><68> <20><><EFBFBD><EFBFBD>ȡֵ128
|
|||
|
uint8_t Vfp; //vertical front porch<63><68> <20><><EFBFBD><EFBFBD>ȡֵ8
|
|||
|
uint8_t Vbp; //vertical back porch<63><68> <20><><EFBFBD><EFBFBD>ȡֵ32
|
|||
|
uint8_t ClkDiv; //ϵͳʱ<CDB3>Ӿ<EFBFBD>ClkDiv<69><76>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DOCCLK<4C><4B>0 2<><32>Ƶ 1 4<><34>Ƶ 2 6<><36>Ƶ ... ... 31 64<36><34>Ƶ
|
|||
|
uint8_t SamplEdge; //<2F><>Ļ<EFBFBD><C4BB>DOTCLK<4C><4B><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>LCD_SAMPLEDGE_RISE<53><45>LCD_SAMPLEDGE_FALL
|
|||
|
uint8_t ClkAlways; //1 һֱ<D2BB><D6B1><EFBFBD><EFBFBD>DOTCLK 0 ֻ<>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>DOTCLK
|
|||
|
uint8_t HsyncWidth; //HSYNC<4E>͵<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٸ<EFBFBD>DOTCLK<4C><4B>ȡֵ<C8A1><D6B5>LCD_HSYNC_1DOTCLK<4C><4B>LCD_HSYNC_2DOTCLK<4C><4B>LCD_HSYNC_3DOTCLK<4C><4B>LCD_HSYNC_4DOTCLK
|
|||
|
|
|||
|
uint8_t IntEOTEn; //End of Transter<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3>ж<EFBFBD>ʹ<EFBFBD><CAB9>
|
|||
|
} LCD_InitStructure;
|
|||
|
|
|||
|
|
|||
|
#define LCD_INTERFACE_RGB 0
|
|||
|
#define LCD_INTERFACE_I80 1
|
|||
|
#define LCD_INTERFACE_M68 2
|
|||
|
|
|||
|
#define LCD_SAMPLEDGE_RISE 0 //<2F><>Ļ<EFBFBD><C4BB>DOTCLK<4C><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define LCD_SAMPLEDGE_FALL 1 //<2F><>Ļ<EFBFBD><C4BB>DOTCLK<4C><4B><EFBFBD>½<EFBFBD><C2BD>ز<EFBFBD><D8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#define LCD_HSYNC_1DOTCLK 0 //1<><31>DOTCLK
|
|||
|
#define LCD_HSYNC_2DOTCLK 1
|
|||
|
#define LCD_HSYNC_3DOTCLK 2
|
|||
|
#define LCD_HSYNC_4DOTCLK 3
|
|||
|
|
|||
|
#define LCD_CLKDIV_2 0
|
|||
|
#define LCD_CLKDIV_4 1
|
|||
|
#define LCD_CLKDIV_6 2
|
|||
|
#define LCD_CLKDIV_8 3
|
|||
|
#define LCD_CLKDIV_10 4
|
|||
|
#define LCD_CLKDIV_12 5
|
|||
|
#define LCD_CLKDIV_14 6
|
|||
|
#define LCD_CLKDIV_16 7
|
|||
|
#define LCD_CLKDIV_18 8
|
|||
|
#define LCD_CLKDIV_20 9
|
|||
|
#define LCD_CLKDIV_22 10
|
|||
|
#define LCD_CLKDIV_24 11
|
|||
|
#define LCD_CLKDIV_26 12
|
|||
|
#define LCD_CLKDIV_28 13
|
|||
|
#define LCD_CLKDIV_30 14
|
|||
|
#define LCD_CLKDIV_32 15
|
|||
|
#define LCD_CLKDIV_34 16
|
|||
|
#define LCD_CLKDIV_36 17
|
|||
|
#define LCD_CLKDIV_38 18
|
|||
|
#define LCD_CLKDIV_40 19
|
|||
|
#define LCD_CLKDIV_42 20
|
|||
|
#define LCD_CLKDIV_44 21
|
|||
|
#define LCD_CLKDIV_46 22
|
|||
|
#define LCD_CLKDIV_48 23
|
|||
|
#define LCD_CLKDIV_50 24
|
|||
|
#define LCD_CLKDIV_52 25
|
|||
|
#define LCD_CLKDIV_54 26
|
|||
|
#define LCD_CLKDIV_56 27
|
|||
|
#define LCD_CLKDIV_58 28
|
|||
|
#define LCD_CLKDIV_60 29
|
|||
|
#define LCD_CLKDIV_62 30
|
|||
|
#define LCD_CLKDIV_64 31
|
|||
|
|
|||
|
|
|||
|
void LCD_Init(LCD_TypeDef * LCDx, LCD_InitStructure * initStruct);
|
|||
|
void LCD_Start(LCD_TypeDef * LCDx);
|
|||
|
uint32_t LCD_IsBusy(LCD_TypeDef * LCDx);
|
|||
|
|
|||
|
void LCD_INTEn(LCD_TypeDef * LCDx);
|
|||
|
void LCD_INTDis(LCD_TypeDef * LCDx);
|
|||
|
void LCD_INTClr(LCD_TypeDef * LCDx);
|
|||
|
uint32_t LCD_INTStat(LCD_TypeDef * LCDx);
|
|||
|
|
|||
|
|
|||
|
#endif //__SWM320_LCD_H__
|