Mbed OS 文档翻译 之 参考(API(RTOS(RtosTimer)))

RtosTimer

       弃用: EventQueue 取代了 RtosTimer。RtosTimer 和 EventQueue 复制了中断上下文之外的定时事件的功能;但是,EventQueue 具有其他功能来处理将其他事件推迟到多个上下文。

                                                                    

                                                                          RtosTimer 类层次结构

使用 RtosTimer 类在系统中创建和控制计时器功能。当时间段到期时调用定时器功能,因此单触发和定时定时器都是可能的。您可以启动,重新启动或停止计时器。

线程 osTimerThread 处理定时器。回调函数在此线程的控制下运行,并可能使用基础 RTOS API 调用。

                        

RtosTimer 类参考

rtos::RtosTimer 类参考

公共成员函数
 RtosTimer (void(*func)(void const *argument), os_timer_type type=osTimerPeriodic, void *argument=NULL)
 RtosTimer (mbed::Callback< void()> func, os_timer_type type=osTimerPeriodic)
template<typename T , typename M >
 RtosTimer (T *obj, M method, os_timer_type type=osTimerPeriodic)
osStatus stop (void)
osStatus start (uint32_t millisec)
 ~RtosTimer ()

RtosTimer 示例

控制四个 LED 的时序。

main.cpp                                                                                                                                                 导入到 Mbed IDE

#include "mbed.h"
#include "rtos.h"

DigitalOut LEDs[4] = {
    DigitalOut(LED1), DigitalOut(LED2), DigitalOut(LED3), DigitalOut(LED4)
};

void blink(void const *n) {
    LEDs[(int)n] = !LEDs[(int)n];
}

int main(void) {
    RtosTimer led_1_timer(blink, osTimerPeriodic, (void *)0);
    RtosTimer led_2_timer(blink, osTimerPeriodic, (void *)1);
    RtosTimer led_3_timer(blink, osTimerPeriodic, (void *)2);
    RtosTimer led_4_timer(blink, osTimerPeriodic, (void *)3);
    
    led_1_timer.start(2000);
    led_2_timer.start(1000);
    led_3_timer.start(500);
    led_4_timer.start(250);
    
    Thread::wait(osWaitForever);
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值