根据 TI-RTOS、"OsalPortTimer_getTimerTimeOut"返回"0"、不仅意味着计时器未在运行。 当计时器保持小于1ms 时、事件将会立即触发。 但是 OsalPortTimer_getTimerTimeout 的返回值可能 会误导定时器未运行的程序。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
根据 TI-RTOS、"OsalPortTimer_getTimerTimeOut"返回"0"、不仅意味着计时器未在运行。 当计时器保持小于1ms 时、事件将会立即触发。 但是 OsalPortTimer_getTimerTimeout 的返回值可能 会误导定时器未运行的程序。
例如,在"ZDO_JoinIndicationCB"中,执行"timeToFire = OsalPortTimers_getTimerTimeout( ZDAppTaskID,ZDO_NEW_DEVICE )"。
当 "timToFire "为"0"时、 ZDO_NEW_DEVICE 事件的计时器可能未运行、也 可能此计时器 一次触发 ZDO_NEW_DEVICE。 如果计时器将 一次触发 ZDO_NEW_DEVICE ,处理后将延迟"OsalPortTimers_startTimer( ZDAppTaskID, ZDO_NEW_DEVICE , ZDDO_NEW_DEVICE_TIME )"以触发 ZAPP_NEW_DEVICE 。