比如现在有can和lvgl两个线程。can可能不定期接收到数据,接收到数据后想更新到屏幕上。
那么该如何设计更新逻辑好呢?
1, can线程里收到数据后调用lvgl控件直接更改显示;
2,can线程收到数据后存到全局变量里,lvgl线程里开启个定时器,定时刷新控件读取这个全局变量;
3,can线程收到数据后存到全局变量里,同时发送信号量,通知lvgl线程去读取这个全局变量?
请教,改怎么设计好呢?
离线
感谢。
目前暂定大概10秒can收到一组数据。
用2的话,比如定时1秒更新下lvgl控件显示,感觉有点浪费,毕竟实际10秒才有数据变动。
离线
感谢各位。那就用线程间消息通知的方式吧。
离线