当前位置: 首页 > news >正文

ESP32使用freertos更新lvgl控件内容

LVGL不是线程安全,所有 lv_xxx方法只能在GUI主线程调用。
freertos都是线程池,子线程,不能直接更新lvgl,不然看门狗被触发,死机。
推荐方法案例:
假如搜索wifi列表得到参数是wifi_options,需要通知lvgl更新

lv_async_call是线程安全,使用方法如下:

///写一个方法需要更新UI,方法体

void apply_async_call_Wifi(void *wifi_options){

     lv_dropdown_set_options(guider_ui.dd, wifi_options);  // 设置下拉列表的选项
//理论上所有的lvxxxxxx();方法

}

//调用主线程更新,使用lv_async_call

///////////   
void xxxxx(freertos线程){
.......wifi_options:回调里边得到的参数.......

lv_async_call(apply_async_call_Wifi,wifi_options);//调用主线程更新UI

    vTaskDelete(NULL);

http://www.lryc.cn/news/586374.html

相关文章:

  • TDengine 使用最佳实践(1)
  • Cell2location maps fine-grained cell types in spatial transcriptomics 文章解析
  • 全局唯一id生成
  • JavaScript加强篇——第七章 浏览器对象与存储要点
  • 深度学习-卷积化
  • 深入详解:决策树在医学影像领域心脏疾病诊断的应用及实现细节
  • Vue框架之钩子函数详解
  • ngrok使用
  • 企业商业秘密保卫战:经营信息类案件维权全攻略
  • 第三章第三节 GPIO 输入
  • Unity开发中常用的洗牌算法
  • 程序改错---字符串
  • 【离线数仓项目】——电商域DIM层开发实战
  • [特殊字符] 实时数据洪流突围战:Flink+Paimon实现毫秒级分析的架构革命(附压测报告)——日均百亿级数据处理成本降低60%的工业级方案
  • Spring Boot 2.4+中bootstrap.yml加载顺序的源码深度解析
  • 北京高铁3h可达城市周末游攻略
  • 堆内存的详细结构以及java中内存溢出和排查方式
  • 大模型量化相关
  • 钉钉企业应用开发实战:从零构建组织级业务工具
  • cuDNN 的 IMPLICIT_GEMM 算法
  • bp使用爆破模块破解pikachu的登陆密码
  • C++11之emplace
  • 【C++】封装红黑树模拟实现set和map
  • 支付宝购买功能的使用
  • EPLAN 电气制图(七):电缆设计全攻略
  • 从0设计一个短链接服务:如何实现尽可能短、可变长的短网址系统?
  • NLP:RNN文本生成案例分享
  • 【MediaSoup】MS_DUMP打印转换为PLOGI的形式
  • CTFHub————Web{信息泄露[Git泄露(Stash、Index)]}
  • React - createPortal