1. 程式人生 > >Zstack協議棧--系統時鐘定時器

Zstack協議棧--系統時鐘定時器

   HalTimerConfig (OSAL_TIMER,                        // 8bit timer2
                  HAL_TIMER_MODE_CTC,                 // Clear Timer on Compare
                  HAL_TIMER_CHANNEL_SINGLE,           // Channel 1 - default
                  HAL_TIMER_CH_MODE_OUTPUT_COMPARE,   // Output Compare mode
                  OnboardTimerIntEnable,              // FALSE
                  Onboard_TimerCallBack
);             // Channel Mode
在 HalTimerConfig()函式中
hwtimerid = halTimerRemap (timerId)
halTimerRecord[hwtimerid].intEnable     = intEnable;
因此把系統時鐘定時器對映到這裡,變為
halTimerRecord[HW_TIMER_4].intEnable     = intEnable = FALSE
因此當系統定時器溢位時不會產生中斷,判斷有沒有溢位是在HalTimerTick()裡的halProcessTimer4()進行的,當溢位時則是呼叫halTimerSendCallBack()進行處理。