CMSIS-RTOS 时间管理之虚拟定时器Virtual Timers
Posted zzdbullet
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CMSIS-RTOS 时间管理之虚拟定时器Virtual Timers相关的知识,希望对你有一定的参考价值。
虚拟定时器Virtual Timers
CMSIS-RTOS API里有几个向下计数的虚拟定时器,它们实现计数完成时用户的回调功能。每个定时器都可以配置成单次计数或重复计数模式,它们可以在定义定时器结构体的时候被创建:
osTimerDef(timer0, led_function);
在上面的代码中给定时器定义了一个名字timer0,并同时定义了回调函数led_function,紧接着必须对这个定时器进行实例化:
osTimerId timer0_handle = osTimerCreate(timer(timer0), osTimerPeriodic,(void*)0);
上面的代码创建了这个定时器,并把它定义成周期性定时器(还可以定义成单次定时器–osTimerOnce),最后一个参数0是传递给回调函数的实参,当定时器定时结束时会用的用到。
osTimerStart(timer0_handle, 0x100);
定时器可以在线程的任意位置启动,从上面的代码中可以看到,定时器启动函数使用的是timer0的句柄,并定义了0x100ms的周期定时。
以上是关于CMSIS-RTOS 时间管理之虚拟定时器Virtual Timers的主要内容,如果未能解决你的问题,请参考以下文章
CMSIS-RTOS 中断处理Interrupt Handling
CMSIS-RTOS 时间管理之时间延迟Time Delay