例如osal_set_event(Hal_TaskID, HAL_KEY_EVENT);过了一段时间 HAL_KEY_EVENT事件任务得到了执行,那么这个时候 HAL_KEY_EVENT事件标志该怎么处理,OSAL会自动把这个事件标志清除吗?还是得手动(evets ^ SYS_EVENT_MSG)把它清除呢?
在按键中断中,按键一中断就触发 HAL_KEY_EVENT事件,过段时间任务得到了执行后,这个HAL_KEY_EVENT事件标志该如何处理。如果不清除的话,那么我不触发中断是不是也会周期性的执行 HAL_KEY_EVENT事件任务?如果要手动清除该怎么清除?
本人刚接触zigbee,问题可能描述不是太清楚望各位前辈指教,谢谢。
Yue TANG:
你是用osal_set_event(hal_taskid,HAL_KEY_EVENT)则, hal_taskid任务负责处理这个事件,函数是Hal_ProcessEvent()。处理完后,需要把事件标识清掉。
if (events & HAL_KEY_EVENT) { return events ^ HAL_KEY_EVENT;
}
你直接在工程里搜索HAL_KEY_EVENT,然后跟踪下,应该很容易理解。