这里写目录标题
白屏、黄屏
我使用的LCD屏驱动是wiki网站上的,其LCD_FILL函数中,形参为u16类型。
lvgl这里传入的是lv_color_t *的指针类型
一:如果是黄屏,在传入LCD_FILL函数的最后一个参数改成color_p->full
改完之后会变成白屏,这个问题需要了解LCD_FILL内的函数逻辑
上图是我修改后能正常运行的代码,我舍弃了LCD_FILL函数,将LCD_FILL代码内的内容移植到此处并进行了修改。下图是LCD_FILL函数的内容;
大家可以对比一下上下两个代码中运行逻辑的区别就能明白为什么传入color_p->full后,依然无法正常启动lvgl
仔细观察,可以发现不同之处在于for循环内,修改后的代码内多了一条
colo_p++
这就是为什么将color_p->full传入LCD_FILL依然无法正常显示的原因,color_p其实是一串数据的首地址,所以在for循环内,color_p++地址需要不断累加,将不同的数据写入
如果使用LCD_FILL函数,for循环内写入的始终只有第一个数据
由于LCD_FILL函数修改起来很麻烦,修改后,需要大量修改驱动代码,所以不如直接舍弃LCD_FILL,直接在disp_fulsh内写入逻辑代码即可
不进touchpad_read 、触摸无反应
检查是否开启定时器中断,如果没有开启定时器中断,lvgl会正常显示,但是touchpad_read不会定时调用,所以会造成lvgl显示正常,触摸异常的假象