很是不好意思,最近赶一个项目,周末也要加班,忙疯了,所以只能晚上搞这个,相对于枯燥的工作,这个我大爱啊....
这两天晚上熟悉了下LCD模块的驱动,东拼西凑搞了一个小程序,很晚了,明天还要上班,所以先Show几张照片和视频,
感觉写例程的XD对底层驱动和操作系统认识很深啊,看代码看得我是佩服不已。
更新程序下载,见附件。
开发板驱动是很通用的ili9320控制芯片,很多开发板都采用的这个控制IC,网上很多例程和资料,大家可以搜搜看。
显示屏采用16bit数据并口传输,这样刷屏速度快。
显示屏驱动最主要的是初始化函数和画点/读点函数,这些是操作屏幕的基础。在这里要感谢开发板的开发者,例程已经帮我们写好了这部分。
我们要做的只是在此基础上实现画线,清屏,画矩形,输出字符等操作,当然这些可以调用画点函数来实现,但是会影响速度,我们最好是选好窗口区域
写控制字,写数据的方式,虽然要多看DS,但是可以加快显示速度。所以我凑了下面几个函数
extern void lcd_ili932x_Clear(unsigned long ulcolor);
extern void lcd_ili932x_DrawRectangle(unsigned long x1,unsigned long y1,unsigned long x2,
unsigned long y2,unsigned long ulValue,unsigned char mode);
extern void lcd_ili932x_Draw_Circle(unsigned long x0,unsigned long y0,unsigned char r,
unsigned long ulValue);
extern void lcd_ili932x_ShowChar(unsigned short x,unsigned short y,unsigned char num,
unsigned char size,unsigned char mode);
extern void lcd_ili932x_ShowNum(unsigned short x,unsigned short y,unsigned long num,
unsigned char len,unsigned char size);
extern void lcd_ili932x_ShowString(unsigned short x,unsigned short y,const unsigned char *p);
要了解的话看代码吧。具体等整个程序完成了再详细说吧。
视频
[
本帖最后由 shower.xu 于 2012-5-14 19:48 编辑 ]