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控制器。