BAT32G137国产项目通用第六节:FreeRTOS 软件定时器
主题:软件定时器在项目中会经常使用,那什么是定时器?软件定时器是指从指定的时刻开始,经过一个指定时间,然后触发一个超时事件,用户 可以自定义定时器的周期与频率。类似生活中的闹钟,我们可以设置闹钟每天什么时候响, 还能设置响的次数,是响一次还是每天都响。
1.FreeRTOS 操作系统提供软件定时器功能,软件定时器的使用相当于扩展了定时器的数
量,允许创建更多的定时业务。 FreeRTOS 软件定时器功能上支持:
1.裁剪:能通过宏关闭软件定时器功能。
2.软件定时器创建。
3.软件定时器启动。
4.软件定时器停止。
5.软件定时器复位。
6.软件定时器删除。
2.FreeRTOS在周期上可以分为单次模式和周期模式。单次模式:当用户创建了定时器并启动了定时器后,定时时间到了,只执行一次回调 函数之后就将该定时器进入休眠状态,不再重新执行。周期模式:这个定时器会按照设置的定时时间循环执行回调函数,直到用户将定时器 删除。

3.软件定时器的函数接口
①软件定时器创建函数 xTimerCreate()
TimerHandle_t xTimerCreate( const char * const pcTimerName,
const TickType_t xTimerPeriodInTicks,
const UBaseType_t uxAutoReload,
void * const pvTimerID,
TimerCallbackFunction_t pxCallbackFunction ) )
参数解释:
static TimerHandle_t Swtmr1_Handle =NULL; /* 软件定时器句柄 *//* 周期模式的软件定时器 1, 定时器周期 1000(tick)*/
