LVGL task任务系统(3)
lv_task.h
lvgl自带任务管理系统,类似于软件定时器,并且支持优先级,相关API在lv_task.h
中
例子
创建任务task,周期1000ms,优先级LV_TASK_PRIO_MID,回调里变量自加,加到10删除此任务。
uint8_t test_data = 0;
static void task_cb(lv_task_t* task)
{uint8_t *dat = (uint8_t*)task->user_data;printf("tick: %d test_data %d\n",lv_tick_get(),*dat);(*dat)++;if(*dat == 10)lv_task_del(task);
}void lv_ex_task(void)
{lv_task_t * task = lv_task_create(task_cb,1000,LV_TASK_PRIO_MID, &test_data);
}
仿真结果
可以看出时间不是很准确,其中lv_task_handler()是这样调用的
while (1) {/* Periodically call the lv_task handler.* It could be done in a timer interrupt or an OS task too.*/lv_task_handler();Sleep(10); /*Just to let the system breathe */}
还有如下常用API
使任务回调函数只运行一次
void lv_task_once(lv_task_t * task);
复位任务
void lv_task_reset(lv_task_t * task);
设置任务回调周期
void lv_task_set_period(lv_task_t * task, uint32_t period);
使任务立即准备就绪
void lv_task_ready(lv_task_t * task);
LVGL task任务系统(3)相关推荐
- DM error code 达梦数据库-错误代码 汇总
CODE ERRINFO 100 空结果集 101 字符串截断 102 在集函数中计算NULL值 103 无效的表名 104 删除0行记录 105 插入0行记录 106 更新0行记录 107 跨语句游 ...
- DM8达梦数据库:系统中的错误码信息
此达梦数据库版本为:dm8-1-88-20.06.24-123627-ENT SELECT * FROM SYS."V$ERR_INFO"; 错误码: 100 空结果集 101 字 ...
- 达梦数据库-8 错误代码查询
达梦数据库中有一个视图,可以查看目前达梦数据库中所有的报错信息 select * from v$err_info; 可以看到达梦报错代码是从100开始的,截止到目前一共有2799个. CODE ERR ...
- ESP-BOX LVGL ask_wdt: Task watchdog got triggered问题 物联网
文章目录 前言 一.项目架构 二.ESP-BOX(AED模块) 1.警报啸叫 2.GUI设计部分 3.AED与服务器连接部分 三.ESP-BOX(用户模块) 1.GUI设计部分 2.语音报警部分 3. ...
- 一个高效的定时任务系统
"今天想跟大家一起探讨一个听起来很简单的话题:定时任务机制. 无非就是一个计时器,到了指定时间就开始跑呗.too young,要是这么简单我还说啥呢,干不就完了. 那如果是几千上万个定时任务 ...
- 小明分享|LVGL调试日志
LVGL仿真调试日志-内存溢出 错误日志: Warn: Couldn't allocate memory (lv_mem.c #208 lv_mem_alloc()) Warn: Couldn't a ...
- UE4多线程任务系统详解
首先,了解一下该系统重要的数据类型. 1. FQueuedThreadPool:虚基类,队列线程池, FQueuedThreadPoolBase继承自FQueuedThreadPool, F ...
- LVGL官方文档-7.11.0-8-Porting-Logging
默认情况下,LVGL不是线程安全的. 但是,在下列情况下,调用LVGL相关函数是安全的. 在Event中. 在lv_task中. Tasks and threads 如果需要使用正常的Task或者是线 ...
- LVGL (8) 绘制流程
目录 Preview LVGL Tick Timer Handler lv_timer_exec 显式刷屏任务 _lv_disp_refr_timer 小结 Preview 整个 LVGL Frame ...
最新文章
- ubuntu16.04 cuda8.0 caffe 编译 error: cublas_v2.h 没有那个文件或目录
- Html,xhtml,xml的定义和区别
- 获取Executor提交的并发执行的任务返回结果的两种方式/ExecutorCompletionService使用...
- 【数理知识】co-inner-outer factorizations
- 智能车改舵机中值步骤_飞思卡尔智能车摄像头组新手指南(10)--控制算法进阶篇之舵机3...
- 开源视觉salm算法介绍
- MySQL 高级 —— 复合索引简介(多列索引)
- 常见端口、端口查询及TCP状态
- matlab单元数组和结构,Matlab中单元数组和结构数组
- 最新“母马”病毒反杀主流杀毒软件
- 转:Java中的异常处理
- Zookeeper原理架构
- presto 时间函数
- 【案例17】ibm_jdk加密导致uclient无法登录NC
- 如何制作音乐界面动效设计
- mysql根据身份证得到年龄_MySQL根据身份证获取省份 年龄 性别
- 电脑小白快来!这有电脑常见故障解决方法
- 全局函数声明和静态函数声明
- 软件开发经验总结(容错性)
- CSS控制按钮渐变过渡效果(鼠标移入移出)
热门文章
- mooc作业怎么上传附件_当下不考虑5G,坚果Pro3与一加7t,你怎么选?
- NR数据库的物种注释
- oracle数据库表中文注释显示为乱码
- 关于C语言中字符数组和字符串的输出
- 数据科学家必须符合道德吗
- 【实习小tip】elementUI表格数值加减和实时计算、导出数据并解决手机号科学计数法格式问题、git clone报错:OpenSSL SSL_connect: SSL_ERROR_SYSCALL
- Spring 控制反转和依赖注入
- CATIA软件操作——获取圆管中心线
- 听说高度近视的人不能打拳击?其实真相是这样的......
- 服装供应链及市场营销