虚拟定时器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的周期定时。

 

相关文章:

  • 2021-11-16
  • 2021-09-30
  • 2022-12-23
  • 2021-06-16
  • 2021-05-19
  • 2021-10-12
  • 2022-12-23
猜你喜欢
  • 2021-07-15
  • 2022-12-23
  • 2021-10-29
  • 2021-12-18
  • 2021-05-18
  • 2021-12-05
相关资源
相似解决方案