文章目录
一、前言
RTX5跟其他RTOS一样,提供软件定时器的功能,定时器可分为单次运行与周期运行。当定时器的计数时间到,执行一遍回调函数。连续运行模式的软件定时器被API函数osTimerStart,osTimerStop控制。软件定时器被创建后,使用osTimerStart第一次启动软件定时器。此外,osTimerStart能复位正在计时的软件定时器。osTimerStop可以停止连续运行的软件定时。
STM32工程:
链接:https://pan.baidu.com/s/1MbdMgATBM-ozo56GQBdTzg
提取码:luvm
二、实验目的
创建一个连续运行的定时器,每隔500ms运行一次。
Note:
当前RTX5的Kernel Tick Frequency [Hz] = 1000,相当于1ms一个timer tick。
三、API
3.1、osTimerNew
/* 使用案例 */
/* 创建定时器 */
timerID_Periodic = osTimerNew(timer_Periodic_App, /* 定时器回调函数 */
osTimerPeriodic, /* 连续运行 */
NULL, /* 不传递参数 */
&timer_Periodic_Attr /* 定时器属性 */
);
3.2、osTimerStart
/* 使用案例 */
osTimerStart(timerID_Periodic,500U); /* 定时器每经过500个timer ticks就运行一次 */
osTimerStart(timerID_Periodic,1000U); /* 定时器每经过1000个timer ticks就运行一次 */
四、代码
4.1、main.h
4.2、main.c