FreeRTOS软件定时器编程教程

FPGA/ASIC技术

197人已加入

描述

本质

软件定时器本质上是一个周期性的任务或单次执行任务。
 

第一步:宏配置

使用软件定时器需要在FreeRTOSConfig.h先配置, 需要注意的是优先级和堆栈,这几个数据要根据具体情况具体设置。

#define configUSE_TIMERS 1// 使能软件定时器
#define configTIMER_TASK_PRIORITY 1// 确定软件定时器进程优先级(根据具体应用而定,不要设的过低,否则精度也会随之下降)
#define configQueue_LENGTH 10// 定时器命令队列(Timer Command Queue)长度
#define configTIMER_TASK_STACK_DEPTH 512// 分配给软件定时器任务的内存大小

第三步:使用API函数

这些API函数就可在应用层调用了,具体的函数参数和使用参加官网的文档说明,里面有很好的介绍,这里就没必要说明了
xTimerCreate();
xTimerlsTimerActive();
xTimerStart();
xTimerStop();
xTimerChangePeriod();
xTimerDelete();
xTimerReset();
xTimerStartFromISR();
xTimerStopFromISR();
xTimerChangePeriodFromISR();
xTimerResetFromISR();
xTimerGetTimerID();
xTimerGetTimerDaemonTaskHandle();

参考例程

在FreeRTOS的源代码的Demo中有提供具体例子,把相关文件加入工程就可使用的。文件名与位置如下:
文件名:TimerDemo.c与TimerDemo.h
文件位置:FreeRTOSDemoCommonMinimal与FreeRTOSDemoCommoninclude

工程参考目录

FreeRTOS

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分