平台:
1、屏幕是中景园的1.28inch的屏幕,屏幕的显示驱动芯片是GC9C01,SPI通信方式;
2、主控芯片的stm32f407;
花屏现象:
花屏问题排查:
一、排查lvgl是否配置了心跳tick。心跳tick有两种方法配置:
1、在系统的delay.c函数中的中断服务函数中添加lv_tick_inc(1),这是给lvgl提供基准时钟的,让lvgl精准地知道时间的流逝;
2、使用硬件定时器TIMx来配置tick,这个我没有用到,网上有教程去实现这一方法。
二、排查lv_port_disp.c里面的屏幕刷新函数disp_flush()
这也就是我屏幕花屏的原因。
一开始我用的是中景园提供的LCD_Fill(),函数去填充屏幕的颜色信息,会出现花屏现象,后面我换了打点函数去填充屏幕信息,花屏就解决了(注意打点函数的屏幕刷新效果是比较慢的)。
具体为什么用打点函数不花屏,用填充函数花屏暂时还没有了解清楚;
主程序代码:
效果如下:
参考网站:https://zhuanlan.zhihu.com/p/568106166https://zhuanlan.zhihu.com/p/568106166