【FreeRTOS(七)】软件定时器

本文详细介绍了FreeRTOS中软件定时器的创建、启动及停止方法。包括如何使用xTimerCreate函数创建定时器,xTimerStart函数启动定时器以及xTimerStop函数停止定时器等关键操作。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

软件定时器

创建软件定时器 xTimerCreate

创建一个软件定时器,新创建的软件定时器处于休眠状态,也就是未运行的。

TimerHandle_t xTimerCreate( const char * const pcTimerName,
 							TickType_t xTimerPeriodInTicks,
							UBaseType_t uxAutoReload,
							void * pvTimerID,
							TimerCallbackFunction_t pxCallbackFunction );
pcTimerName软件定时器名字,名字是一串字符串,用于调试使用。
xTimerPeriodInTicks软件定时器的定时器周期, 单位是时钟节拍数。可以借助portTICK_PERIOD_MS 将 ms 单位转换为时钟节拍数。
uxAutoReload设置定时器模式,当此参数为 pdTRUE的时候表示创建的是周期定时器。如果为 pdFALSE 的话表示创建的是单次定时器。
pvTimerID定时器 ID 号,一般情况下每个定时器都有一个回调函数,当定时器定时周期到了以后就会执行这个回调函数。但是 FreeRTOS 也支持多个定时器共用同一个回调函数,在回调函数中根据定时器的 ID 号来处理不同的定时器。
pxCallbackFunction定时器回调函数,当定时器定时周期到了以后就会调用这个函数。
returnNULL:软件定时器创建失败。
其他值:创建成功的软件定时器句柄。

开启任务定时器 xTimerStart

启动任务定时器

BaseType_t xTimerStart( TimerHandle_t xTimer, TickType_t xTicksToWait );


xTimer定时器句柄
xTicksToWait成功启动定时器前的最大等待时间设置,单位系统时钟节拍
returnpdPASS:软件定时器开启成功
pdFAIL:软件定时器开启失败

停止软件定时器 xTimerStop

停止一个软件定时器

BaseType_t xTimerStop( TimerHandle_t xTimer, TickType_t xTicksToWait );

xTimer要停止的软件定时器的句柄。
xTicksToWait设置阻塞时间
returnpdPASS:软件定时器停止成功
pdFAIL软件定时器停止失败

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eiker_3169

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值