七、FreeRTOS学习之 软件定时器

一、基本概念

在freertos中,软件定时器的功能跟单片机中使用的定时器差不多,通过设置一段时间,等到时间到达,定时器进入中断,执行相应的功能函数,被调用的函数叫做定时器的回调函数,它可以是一次性的,执行一次回调函数后,定时器会停止运行,要再次使用需要手动重启,不会自动重启;也可以是周期性的,其中两次执行回调函数的时间叫做定时周期。因此回调函数中不能调用会阻塞的API函数。

二、API 函数

注意:要使用软件定时器需要在FreeRTOSConfig.h中使能

1、定时器创建

动态创建

静态创建

2、启动

3、停止

4、删除

5、复位

三、运用


  1. /* FreeRTOS头文件 */
  2. #include "FreeRTOS.h"
  3. #include "timers.h"
  4. TimerHandle_t xBacklightTimer = NULL;
  5. void vBacklightTimerCallback( TimerHandle_t pxTimer )
  6. {
  7. vSetBacklightState( BACKLIGHT_OFF );
  8. }
  9. void vKeyPressEventHandler( char cKey )
  10. {
  11. vSetBacklightState( BACKLIGHT_ON );
  12. if( xTimerReset( xBacklightTimer, 10 ) != pdPASS )
  13. {
  14. 声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月11日
下一篇 2022年9月11日

相关推荐