系列文章
FreeRTOS实时操作系统(二)任务创建与任务删除(HAL库)
FreeRTOS实时操作系统(五)进入临界区、任务调度器挂起与恢复
FreeRTOS实时操作系统(七)时间片调度及RTOS的滴答定时器
FreeRTOS实时操作系统(八)任务状态查询及时间统计函数
FreeRTOS实时操作系统(十五)Tickless低功耗模式
工作原理简介
定时器是 由 定时器服务(或守护进程)任务提供。
FreeRTOS 提供了一组与定时器相关的 API 函数。 其中许多函数使用标准 FreeRTOS 队列向定时器服务任务发送命令。 专用于 FreeRTOS 定时器实现,无法直接访问。 定时器命令队列将用户应用任务和定时器服务任务连接在一起。 应用程序代码调用API 函数。 其结果是命令会发送到定时器命令队列中, 再由定时器服务任务来处理。 API函数不会(也无法)直接访问定时器命令队列。
定时器到期时间是相对于发送命令的时间而计算, 而非相对于处理命令的时间进行计算。所以在优先级设置上,要慎重考虑
软件定时器
定时器的作用:经过一段指定时间,触发超时事件
在裸机开发中,应用的是芯片自带的定时器模块,精度很高,在中断服务函数中处理信息,包括实现PWM等功能(硬件定时器)
软件定时器是指具有定时功能的软件,可以设置定时周期,在回调函数中进行信息处理,只要内存够可以创建非常多。
软件定时器优点:
硬件定时器数量有限,而软件定时器理论上只需有足够内存,就可以创建多个;
使用简单、成本低;
缺点:
软件定时器相对硬件定时器来说,精度没有那么高(因为它以系统时钟为基准,系统时钟中断优先级又是最低,容易被打断)。 对于需要高精度要求的场合,不建议使用软件定时器。
软件定时器特点:
可裁剪:使能软件定时器,需将configUSE_TIMERS 配置项配置成 1
单次和周期:软件定时器支持设置成:单次定时器或周期定时器
软件定时
文章详细介绍了FreeRTOS中的软件定时器,包括其作用、优缺点、特点和工作方式。软件定时器可以设置为单次或周期性,其回调函数在软件定时器服务任务中调用,需要注意不能在回调中使用可能导致任务阻塞的API。FreeRTOS提供了多种API函数用于创建、启动、停止和改变定时器的参数。文章还给出了实验测试示例,展示如何创建和使用单次及周期定时器。
订阅专栏 解锁全文
3997

被折叠的 条评论
为什么被折叠?



