2022-10-19 22:44:15 +08:00

81 lines
2.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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__