osal_start_timerEx(Lock_TaskID,SBP_START_DEVICE_EVT,SBP_PERIODIC_EVT_PERIOD)的理解
??osal_start_timerEx(Lock_TaskID,SBP_START_DEVICE_EVT,SBP_PERIODIC_EVT_PERIOD)與osal_set_event(Music_TaskID,event)的區別是osal_start_timerEx周期性的一直推送事件周期時間由SBP_PERIODIC_EVT_PERIOD決定,而osal_set_event是只推送一次。osal_start_timerEx開始周期性推送以后由osal_stop_timerEx(Lock_TaskID,SBP_START_DEVICE_EVT);停止周期性推送事件。
應用例子:
if ( events & SBP_START_DEVICE_EVT )
{
/*檢查是否從消息隊列中收到數據*/
if(1==lock_task()) //判斷是否位空閑任務
{
osal_stop_timerEx(Lock_TaskID,SBP_START_DEVICE_EVT);
}
else
{
osal_start_timerEx(Lock_TaskID,SBP_START_DEVICE_EVT,SBP_PERIODIC_EVT_PERIOD);
}
return ( events ^ SBP_START_DEVICE_EVT );
}
轉載于:https://www.cnblogs.com/yygsj/p/5468026.html
總結
以上是生活随笔為你收集整理的osal_start_timerEx(Lock_TaskID,SBP_START_DEVICE_EVT,SBP_PERIODIC_EVT_PERIOD)的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML实体字符转化为HTML标签
- 下一篇: AutoLayout的那些事儿