添加新的屏幕驱动¶
添加新的屏幕驱动主要分为:
在Kconfig文件中增加驱动IC的宏定义¶
打开SDK\customer\peripherals\Kconfig文件里面有很多类似LCD_USING_XXX的config,在后面添加新的config:
config LCD_USING_NV3051F1
bool
default n
注意: 如果已经有同名的屏驱IC,则意味着只需修改现有驱动的初始代码。
复制类似的驱动代码并加入编译¶
修改复制的屏幕驱动文件¶
配置屏幕参数¶
根据接口不同,每一种屏幕需要配置的参数会有所区别,如下几种屏幕接口均有各自对应的参数进行配置:
修改屏驱回调函数¶
修改复制过来的屏驱里面的内容为自己的,屏驱里面的回调函数说明:
注:可选的回调函数可以注册为NULL,或者函数内部实现为空
回调函数 |
说明 |
---|---|
【必选】,屏驱初始函数(包括复位,初始化程序等) |
|
【必选】,屏幕在位检测函数 |
|
【必选】,屏幕打开 |
|
【必选】,屏幕关闭 |
|
【必选】,设置屏幕接受数据时的区域(2A,2B 的区域) |
|
可选,写一个像素点到屏幕上 |
|
【必选】,写批量像素点到屏幕上 |
|
可选,读屏幕上的一个像素点数据,返回像素的RGB值 |
|
可选,切换输出给屏幕的颜色格式 |
|
可选,设置屏幕的亮度 |
|
可选,进入待机显示模式(低功耗模式) |
|
可选,退出待机显示模式(低功耗模式) |
|
可选,旋转屏幕一定角度 |
|
可选,批量送数超时后,屏幕自检 |
|
可选,批量送数超时后,屏幕复位 |
|
可选,屏幕定时ESD检测 |
注册屏驱到系统¶
通过LCD_DRIVER_EXPORT2将屏驱IC的回调函数注册到系统:
LCD_DRIVER_EXPORT2(nv3051f1, LCD_ID, &lcdc_int_cfg,
&LCD_drv,2);
参数说明:
nv3051f1 - 屏驱IC的名字
LCD_ID - 屏幕在位时,屏幕在位检测函数LCD_ReadID应该返回的值。
&lcdc_int_cfg - 对外提供屏幕初始化参数(外部只读不写,只用于查询屏幕带宽、颜色格式等信息)
&LCD_drv - 屏驱IC的所有操作的回调函数集合
2 - 该屏驱IC更新屏幕区域要求2像素对齐