※This article is based on ZigBee Stack 2.51.a
协议栈osal_start_timerEx的作用体现在:用于设置*tasksEvents数组,一旦tasksEvents[idx]不等于0就执行相应的任务处理函数。
ZMain.c → Hal_ProcessPoll → HalTimerTick(判断定时器溢出) → halTimerSendCallBack(处理溢出)→ callBackFunc → Onboard_TimerCallBack → osalTimerUpdate(用于设置*tasksEvents数组) →osal_systemClock(系统时钟,它是uint32型的,可计2^32ms=49.7天。)
OnBoard.c → InitBoard → HalKeyConfig对按键进行定义,将按键处理函数入口OnBoard_KeyCallback 赋予pHalKeyProcessFunction,还用osal_start_timerEx (Hal_TaskID, HAL_KEY_EVENT, HAL_KEY_POLLING_VALUE)设置了扫描的时间间隔。
コメント: