SWM320_lcd.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #ifndef __SWM320_LCD_H__
  2. #define __SWM320_LCD_H__
  3. typedef struct {
  4. uint8_t Interface; //LCD屏接口:LCD_INTERFACE_RGB、LCD_INTERFACE_I80、LCD_INTERFACE_M68
  5. /* RGB同步接口参数 */
  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. uint8_t IntEOTEn; //End of Transter(传输完成)中断使能
  17. } LCD_InitStructure;
  18. #define LCD_INTERFACE_RGB 0
  19. #define LCD_INTERFACE_I80 1
  20. #define LCD_INTERFACE_M68 2
  21. #define LCD_SAMPLEDGE_RISE 0 //屏幕在DOTCLK的上升沿采样数据
  22. #define LCD_SAMPLEDGE_FALL 1 //屏幕在DOTCLK的下降沿采样数据
  23. #define LCD_HSYNC_1DOTCLK 0 //1个DOTCLK
  24. #define LCD_HSYNC_2DOTCLK 1
  25. #define LCD_HSYNC_3DOTCLK 2
  26. #define LCD_HSYNC_4DOTCLK 3
  27. #define LCD_CLKDIV_2 0
  28. #define LCD_CLKDIV_4 1
  29. #define LCD_CLKDIV_6 2
  30. #define LCD_CLKDIV_8 3
  31. #define LCD_CLKDIV_10 4
  32. #define LCD_CLKDIV_12 5
  33. #define LCD_CLKDIV_14 6
  34. #define LCD_CLKDIV_16 7
  35. #define LCD_CLKDIV_18 8
  36. #define LCD_CLKDIV_20 9
  37. #define LCD_CLKDIV_22 10
  38. #define LCD_CLKDIV_24 11
  39. #define LCD_CLKDIV_26 12
  40. #define LCD_CLKDIV_28 13
  41. #define LCD_CLKDIV_30 14
  42. #define LCD_CLKDIV_32 15
  43. #define LCD_CLKDIV_34 16
  44. #define LCD_CLKDIV_36 17
  45. #define LCD_CLKDIV_38 18
  46. #define LCD_CLKDIV_40 19
  47. #define LCD_CLKDIV_42 20
  48. #define LCD_CLKDIV_44 21
  49. #define LCD_CLKDIV_46 22
  50. #define LCD_CLKDIV_48 23
  51. #define LCD_CLKDIV_50 24
  52. #define LCD_CLKDIV_52 25
  53. #define LCD_CLKDIV_54 26
  54. #define LCD_CLKDIV_56 27
  55. #define LCD_CLKDIV_58 28
  56. #define LCD_CLKDIV_60 29
  57. #define LCD_CLKDIV_62 30
  58. #define LCD_CLKDIV_64 31
  59. void LCD_Init(LCD_TypeDef * LCDx, LCD_InitStructure * initStruct);
  60. void LCD_Start(LCD_TypeDef * LCDx);
  61. uint32_t LCD_IsBusy(LCD_TypeDef * LCDx);
  62. void LCD_INTEn(LCD_TypeDef * LCDx);
  63. void LCD_INTDis(LCD_TypeDef * LCDx);
  64. void LCD_INTClr(LCD_TypeDef * LCDx);
  65. uint32_t LCD_INTStat(LCD_TypeDef * LCDx);
  66. #endif //__SWM320_LCD_H__