lcd.h
上传用户:wealth48
上传日期:2022-06-24
资源大小:1701k
文件大小:3k
源码类别:

uCOS

开发平台:

C/C++

  1. /***************************************************************************
  2. Copyright (c) 2004-2007 threewater@up-tech.com, All rights reserved.
  3. by threewter 2004.4.26
  4. ***************************************************************************/
  5. /***************************************************************************
  6.     #说明: 
  7. ----------------------------------  Bug  --------------------------------------
  8. ----------------------------------  TODO list  --------------------------------------
  9. ----------------------------------修正--------------------------------------
  10. 2004-4-26 创建
  11. ***************************************************************************/
  12. #ifndef __LCD_H__
  13. #define __LCD_H__
  14. //n: LCD 类型编号, w,h:LCD宽度,高度,b: b+1=LCD颜色位数,
  15. //dw: LCD扫描总线宽度4/8/16/24...
  16. // 2bit 10bit, 10bit, 5bit, 5bit
  17. #define LCDINFO(n,w,h,b, dw) (((dw)<<30)|((w)<<20)|((h)<<10)|((n)<<5)|((b)-1))
  18. //LCD颜色位数
  19. #define MONO 1u
  20. #define GRAY16 4u
  21. #define COLOR256 8u
  22. #define COLOR64K 16u
  23. //LCD扫描总线宽度
  24. #define LCDDBW4 0u
  25. #define LCDDBW8 1u
  26. #define LCDDBW16 2u
  27. #define LCDDBW24 3u
  28. ////////////////定义LCD的类型/////////////
  29. #define LCDTYPE_320x240xMONO LCDINFO(0, 320, 240, MONO, LCDDBW4)
  30. #define LCDTYPE_320x240x16GRAY LCDINFO(0, 320, 240, GRAY16, LCDDBW4)
  31. #define LCDTYPE_320x240x256COLOR LCDINFO(0, 320, 240, COLOR256,LCDDBW8)
  32. #define LCDTYPE_640x480x256COLOR LCDINFO(0, 640, 480, COLOR256,LCDDBW8)
  33. #define LCDTYPE_640x480x64KCOLOR LCDINFO(0, 640u, 480u, COLOR64K,LCDDBW16)
  34. #define LCDDATA_SWAPW 1 //高低字交换
  35. #define LCDDATA_SWAPB 2 //高低字节交换
  36. #define LCDDATA_SWAPH 3 ////高低半字节交换
  37. #define LCDDATA_ORDER LCDDATA_SWAPW
  38. #define LCDTYPE LCDTYPE_640x480x64KCOLOR
  39. #define LCDWIDTH ((LCDTYPE>>20)&0x3ff)
  40. #define LCDHEIGHT ((LCDTYPE>>10)&0x3ff)
  41. #define LCDCOLOR ((LCDTYPE&0x1f)+1)
  42. #define LCDBPP LCDCOLOR
  43. #define LCDDBWIDTH ((LCDTYPE>>30)&0x3) //LCD扫描总线宽度4/8/16/24...
  44. #define LCDBOARDNUMBER ((LCDTYPE>>5)&0x1f) //LCD板编号
  45. #define LCDFBSIZE (LCDWIDTH*LCDHEIGHT*LCDCOLOR/8)
  46. #define LCD_RLEN (LCDWIDTH*LCDBPP/8) //每行像素所占的字节数
  47. #define DspTxtMode 0
  48. #define DspGraMode 1
  49. void LCD_Cls(void); //文本模式下清除屏幕
  50. void LCD_printf(const char *format,...);
  51. void LCD_ChangeMode(int mode);
  52. void LCD_Refresh(void);
  53. unsigned int* LCD_Init(void);
  54. void LCD_TestShow(void);
  55. //各个LCD驱动中定义
  56. void LCDBkLight(int isOpen);
  57. void LCDDisplayOpen(int isOpen);
  58. void LCDLib_Init(unsigned int*pbuffer);
  59. #endif