更多源码分析请访问:LVGL 源码分析大全
目录
- 1、问题描述
- 2、源码分析
- 2.1、ESP32中UI操作的安全保证
- 2.2、 lv_timer_create的修改
- 2、参考源码
1、问题描述
由于lv_timer_create
的执行实现方式为 后进先出
的栈执行方式,这导致在添加一些需要顺序执行的延时任务时会很麻烦,因此,需要实现一个 先进先出
接口。
2、源码分析
2.1、ESP32中UI操作的安全保证
以ESP32中 examples/factory_demo
为例:ESP32上的LVGL是采用多任务(相当于Linux上的多线程)的方式来实现,这样导致在多数情况下,操作UI需要使用UI线程的锁,来保证操作的安全性。凡是保护在 ui_acquire
和 ui_release
中的操作UI接口,都是在UI线程非工作状态下进行