LCD裸板编程_框架

lcd程序框架:

为了让程序更好的扩展,介绍面向对象编程:

比如抽象出lcd_3.5和lcd_4.3的共同点:

当我想使用3.5寸的lcd时,只需让lo指向lcd_3.5_opr即可。同样,当我想使用4.3寸的lcd时,只需让lo指向lcd_4.3_opr.

还可以进一步封装

使用者可以不接触lcd_3.5.c和lcd_4.3.c中的函数,可以直接调用lcd.c中的函数,进而操作lcd。

将lcd_3.5_opr和lcd_4.4_opr这些结构体注册到lcd.c这个文件中,将结构体放入某个数组(其实驱动程序中很多都是这么搞的),以后可以根据name来选择使用哪款lcd。

同样对于lcd控制器,我们也可以利用这种面向对象以及分层的思想。

当我想使用s3c2440的控制器的时,只需让lc指向lco_2440即可。同样,当我想使用ti的控制器时,只需让lc指向lco_ti即可.

使用者可以不接触S3C2440_lcd_controller.c和ti_lcd_controller.c中的函数,可以直接调用lcd_controller.c中的函数,进而操作lcd控制器。

将lco_2440和lco_ti这些结构体注册到lcd_controller.c这个文件中,将结构体放入某个数组(其实驱动程序中很多都是这么搞的),以后可以根据name来选择使用哪款lcd控制器。

转载于:https://www.cnblogs.com/-glb/p/11333296.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LCD_WRITE_CMD(0xB4); LCD_WRITE_DATA(0x80); LCD_WRITE_CMD(0xB7); LCD_WRITE_DATA(0xFF); LCD_WRITE_DATA(0x44); LCD_WRITE_DATA(0x04); LCD_WRITE_DATA(0x44); LCD_WRITE_DATA(0x04); LCD_WRITE_DATA(0x02); LCD_WRITE_DATA(0x04); LCD_WRITE_CMD(0xBA); LCD_WRITE_DATA(0x22); LCD_WRITE_DATA(0x0F); LCD_WRITE_DATA(0x20); LCD_WRITE_CMD(0xBB); LCD_WRITE_DATA(0x26); LCD_WRITE_DATA(0x77); LCD_WRITE_DATA(0x33); LCD_WRITE_CMD(0xCD); LCD_WRITE_DATA(0x26); LCD_WRITE_DATA(0x26); LCD_WRITE_DATA(0x00); LCD_WRITE_CMD(0xE8); LCD_WRITE_DATA(0x11); LCD_WRITE_DATA(0x11); LCD_WRITE_DATA(0x33); LCD_WRITE_DATA(0x11); LCD_WRITE_DATA(0x55); LCD_WRITE_CMD(0xE9); LCD_WRITE_DATA(0x40); LCD_WRITE_DATA(0x84); LCD_WRITE_DATA(0x65); LCD_WRITE_DATA(0x30); LCD_WRITE_DATA(0xC0); LCD_WRITE_DATA(0x00); LCD_WRITE_DATA(0xFF); LCD_WRITE_DATA(0x00); LCD_WRITE_DATA(0x88); LCD_WRITE_CMD(0xEA); LCD_WRITE_DATA(0x03); LCD_WRITE_DATA(0x22); LCD_WRITE_DATA(0x18); LCD_WRITE_DATA(0xE2); LCD_WRITE_DATA(0x04); LCD_WRITE_DATA(0x00); LCD_WRITE_DATA(0x00); LCD_WRITE_CMD(0xEC); LCD_WRITE_DATA(0x48); LCD_WRITE_CMD(0xF2); LCD_WRITE_DATA(0x00); LCD_WRITE_DATA(0x00); LCD_WRITE_DATA(0x00); LCD_WRITE_CMD(0xF5); LCD_WRITE_DATA(0xBB); LCD_WRITE_CMD(0x36); LCD_WRITE_DATA(0x00); LCD_WRITE_CMD(0x3A); LCD_WRITE_DATA(0x55);//55:RGB565 66:RGB666 LCD_WRITE_CMD(0xE4); LCD_WRITE_DATA(0x00); LCD_WRITE_DATA(0x03); LCD_WRITE_DATA(0x11); LCD_WRITE_DATA(0x03); LCD_WRITE_DATA(0x10); LCD_WRITE_DATA(0x06); LCD_WRITE_DATA(0x37); LCD_WRITE_DATA(0x36); LCD_WRITE_DATA(0x4C); LCD_WRITE_DATA(0x02); LCD_WRITE_DATA(0x0B); LCD_WRITE_DATA(0x0A); LCD_WRITE_DATA(0x2D); LCD_WRITE_DATA(0x34); LCD_WRITE_DATA(0x0d); LCD_WRITE_CMD(0xE5); LCD_WRITE_DATA(0x00); LCD_WRITE_DATA(0x0B); LCD_WRITE_DATA(0x11); LCD_WRITE_DATA(0x04); LCD_WRITE_DATA(0x0F); LCD_WRITE_DATA(0x06); LCD_WRITE_DATA(0x37); LCD_WRITE_DATA(0x45); LCD_WRITE_DATA(0x4C); LCD_WRITE_DATA(0x02); LCD_WRITE_DATA(0x0A); LCD_WRITE_DATA(0x0A); LCD_WRITE_DATA(0x2D); LCD_WRITE_DATA(0x34); LCD_WRITE_DATA(0x0d); LCD_WRITE_CMD(0x11); vTaskDelay(120/ portTICK_PERIOD_MS); LCD_WRITE_CMD(0x29);
最新发布
07-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值