lvgl开发-2.显示设备的移植
对接初始化API
我们需要把LCD的文件对接到LVGL的函数里面去。
首先是lv_port_disp——template.c文件
1 | /*Initialize your display and the required peripherals.*/ |
这一部分是显示设备的初始化。我们把LCD的初始化包进去。
屏幕大小部分我们在lv_conf.h文件配置过就不需要修改了。由于宏定义这一部分不会被编译。
修改刷新API
1 | /*Flush the content of the internal buffer the specific area on the display. |
这里将LCD清屏的函数对接进去了。
显示测试
在lv_conf.h文件修改DEMO使用的宏定义。如:
1 |
之后再改回来。
将startup文件的stacksize改大点。本来是400
1 | Stack_Size EQU 0x00000800 |
我们在RCT6的显示屏没有输入功能,所以我们换成别的DEMO。
注意的是,在配置中出现了内存不足的报错,我们的大小还需要修改。我们修改lv_conf.h里面的参数。
找到如下代码进行修改。可以看到它需要大于2KB的内存申请,修改成大于他就行了。
1 |
|
改完后编译成功可以下载,下载后发现全屏幕花屏。
该问题出现在初始化中,我们在初始化时,加上一条全屏幕覆盖白色背景即可,因为不设置默认是乱码显示。
完成后跑例程,出现图形花屏,而不是全屏花屏。
解决方法: 把颜色深度降低一档
1 | /** Color depth: 1 (I1), 8 (L8), 16 (RGB565), 24 (RGB888), 32 (XRGB8888) */ |
移植成功,但是感觉字体还是有些模糊,不清楚怎么回事
感觉RCT6的内存想同时跑RTOS和LVGL有点困难。。。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以邮件至 1186703947@qq.com