FreeRtos软件定时器复习

一、基础概念

概念解析:定时器分为硬与软定,硬件定时器到达定时时间自动触发中断服务函数,使用软件定时器时,需要我们在创建软件定时器时指定时间到达后要调用的函数(也称超时函数/回调函数,为了统一,下文均用回调函数描述),在回调函数中处理信息。

软件定时器特点:
 裁剪:能通过宏关闭软件定时器功能。
 软件定时器创建。
 软件定时器启动。
 软件定时器停止。
 软件定时器复位。
 软件定时器删除。
 FreeRTOS 提供的软件定时器支持单次模式和周期模式

二、运行机制

软件定时器是可选的系统资源,在创建定时器的时候会分配一块内存空间。FreeRTOS的软件定时器采用消息队列进行通信,利用“定时器命令队列”向软件定时器任务发送一些命令,任务在接收到命令就会去处理命令对应的程序,比如启动定时器,停止定时器等。

使用软件定时器需要注意几点

  • 软件定时器的回调函数中应快进快出,绝对不允许使用任何可能引软件定时器起任务挂起或者阻塞的 API 接口,在回调函数中也绝对不允许出现死循环
  • 软件定时器使用了系统的一个队列和一个任务资源,软件定时器任务的优先级默认为configTIMER_TASK_PRIORITY,为了更好响应,该优先级应设置为所有任务中最高的优先级
  • 创建单次软件定时器,该定时器超时执行完回调函数后,系统会自动删除该软件定时器,并回收资源
  • 定时器任务的堆栈大小默认为 configTIMER_TASK_STACK_DEPTH 个字节。 软件定时器函数接口

三、 API函数

官方API
https://freertos.org/FreeRTOS-Software-Timer-API-Functions.html

四、实验代码分析

正点的
1、创建句柄与定时回调函数
在这里插入图片描述
2、在开始任务函数里面创建任务函数
函数具体功能查官网
在这里插入图片描述
3、在任务需要的地方开启定时器
在这里插入图片描述
4、编写定时时间到达的时候的回调函数
在这里插入图片描述
有单片机基础的应该看一下大概就明白这个机制了在于实际工程中的应用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值