简介:
FreeRTPS中的软件定时器,是基于FreeRTOS中时钟源(滴答)运行的,当设置好周期,周期一到就会进入,软件定时器的回调函数,在回调函数中不能使用带有阻塞的API函数
要使用软件定时器要剪切configUSE_TIMERS,开启头文件#include"timers.h",使用软件定时器要创建软件定时器任务,回调函数也需要我们自己写,他负责软件定时器的超时逻辑判断,调用软件定时器的回调函数,还有命令队列
软件定时器有一个命令队列,开启和关闭软件定时器等都由他管理,软件定时器的任务会读取他
单次和周期性:
一次性定时器:这种定时器当触发一次超时后进入一次回调函数,就不会执行了
周期性定时器:这种定时器每次超时周期都会触发一次回调函数
软件定时器的精读和分辨率不高(靠滴答定时器),没有硬件定时器精度高,硬件定时器想设置多少秒进一次中断可以通过参数调整,软件定时器只能靠滴答定时器(1ms进一次中断),但是软件定时器节约资源,
有些命令API传参中有等待时间,为什么有等待时间呢?执行命令不是一下就完成的,需要发送命令和接收命令,才执行命令,等待时间就等待完全执行命令
