1. 程式人生 > >CMSIS-RTOS 時間管理之虛擬定時器Virtual Timers

CMSIS-RTOS 時間管理之虛擬定時器Virtual Timers

space 一個 在線 給定 rpe hand 啟動 lan word

虛擬定時器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