中级会员
- 积分
- 211
- 金钱
- 211
- 注册时间
- 2020-2-4
- 在线时间
- 47 小时
|
10金钱
本帖最后由 mmmllb 于 2023-3-24 17:37 编辑
1.我现在做的程序功能简化模型如下:
程序的运行条件为:定时器1的溢出时间为1ms,有温度传感器检测外界温度;
程序目标为:
a. 定时器1溢出10000次后结束,每运行100次通过串口打印剩余运行次数,运行中界面显示“运行”,结束后界面显示“结束”;
b. 温度过高时额外增加“温度过高“提示并将定时器溢出时间改为10ms(假定运行过程中必然会发生温度过高);
2. 以裸机程序为例程序的架构如下:LVGL初始化
LVGL界面函数
while(1)
{
LVGL调度器;
延时5ms;
}
3. 概括功能函数有以下三个:
a. 每运行100次串口打印一次;
b. 根据运行结束与否判断输出的提示;
c. 定期检测温度值,温度过高时输出提示,更改定时器1的溢出时间。
4.疑问
怎么调用这三个功能函数,或者这三个功能函数写到什么位置?
我自己测试放在while(1)之前,会先运行三个功能函数,然后运行重复LVGL函数,因为运行到LVGL之后才会运行LVGL函数。然后调度器只会调度LVGL程序,三个功能函数不会在运行;
如果放在while(1)内部,那么LVGL调度器的运行周期会大大增加,感觉也不合理。
补充:
正点原子旧版本的LVGL教程配套代码中貌似LVGL有task系统,最新版本是把task系统删除了吗,还是由新功能替代了?
|
最佳答案
查看完整内容[请看2#楼]
初步确定,以上需求可以在LVGL的定时器任务中实现,稍后验证下。
定时器和菜单部件个人感觉都比较重要,在LVGL开发指南V1.3文件中有介绍,视频教程中没有。
|