大家好:
描述一下我遇到的情形:
手头上有一块LM3S9B96的开发板,上面带的是320x240的TFT,我的目标是换成640x480的TFT!
TFT的厂家是kitronix,在kitronix官网上没有找到640x480的TFT,找到了一种800x480的屏,但是800x480的屏的驱动芯片是ssd1963,而LM3S9B96开发板上的320x240的驱动芯片是ssd2119.问题的难点就在这里:640x800屏的驱动程序怎么来写?
小弟我想到了几个解决途径,请大侠指点:
1. 参考LM3S9B96开发板图形库中的320x240的驱动程序自己编写800x480屏的驱动程序
2. LM3S9B92开发板标配的是kitronix的800x480屏,参考LM3S9B92开发板图形库例程来编写800x480屏的驱动程序
3. 寻找其他厂家的640x480的TFT,自己编写屏的驱动程序
请各位大侠指点一下这三个途径的可行性以及要注意的要点。或者提供更好的解决途径!
此帖出自
小平头技术问答
各位能推荐个厂家不?
TFT
320x240
4.3'
touch(opt)
接口定义如下
01. typedef struct
02. {
03. long lSize;
04. void *pvDisplayData;
05. unsigned short usWidth;
06. unsigned short usHeight;
07. void (*pfnPixelDraw)(void *pvDisplayData, long lX, long lY,
08. unsigned long ulValue);
09. void (*pfnPixelDrawMultiple)(void *pvDisplayData, long Lx, long lY,
10. long lx0,long lCount, long lBPP,
11. const unsigned char *pucData,
12. const unsigned char *pucPalette);
13. void (*pfnLineDrawH)(void *pvDisplayData, long lX1, long lX2, long lY,
14. unsigned long ulValue);
15. void (*pfnLineDrawV)(void *pvDisplayData, long lX, long lY1, long lY2,
16. unsigned long ulValue);
17. void (*pfnRectFill)(void *pvDisplayData, const tRectangle *pRect,
18. unsigned long ulValue);
19. unsigned long (*pfnColorTranslate)(void *pvDisplayData,
20. unsigned long ulValue);
21. void (*pfnFlush)(void *pvDisplayData);
22. }
23. tDisplay
编号
回调函数指针 函数功能
1 pfnPixelDraw 绘制一个点
22 pfnPixelDrawMultiple 绘制多个点
3 pfnLineDrawH 绘制一条水平线
4 pfnLineDrawV 绘制一条垂直线
5 pfnRectFill 填充一个方块
6 pfnColorTranslate 颜 {MOD}模式变换
7 pfnFlush 刷新图形显示
对照驱动芯片的手册,你实现上面的时序后,就可以调用TI的图形驱动库的函数实现显示
一周热门 更多>