我在程序里先开了一个重复定时任务TestPort_TIMEOUT_EVT:osal_start_reload_timer(zclSampleApp_TaskID, TestPort_TIMEOUT_EVT,500);
然后又把它管了:osal_stop_timerEx(zclSampleApp_TaskID,TestPort_TIMEOUT_EVT);
接着又开启了另一个重复定时任务NetworkBuilt_TIMEOUT_EVT:osal_start_reload_timer(zclSampleApp_TaskID, NetworkBuilt_TIMEOUT_EVT,500);//定时重发
然后就发现上一个定时任务TestPort_TIMEOUT_EVT也被触发了,这是为何?
YiKai Chen:
你的TestPort_TIMEOUT_EVT定義?
user5281211:
回复 YiKai Chen:
第一个事件是0x0101
第二个事件是0x0102
user5281211:
回复 YiKai Chen:
如。果这样子的话,事件很容易被一下子用完啊。像我这种有好多种定时任务,应该怎么实现比较好了?
YiKai Chen:
回复 user5281211:
另外再開一個taskID處理
user5281211:
回复 YiKai Chen:
您是说,在应用层里头设两个taskID,一个是原来已有的,另外一个专门用来做这个定时任务。对新的taskID,那是不是只要再编写一个Init和一个eventloop就可以正常使用了?
Viki Shi:
osal_start_reload_timer可以反复启动,而osal_start_timerEx是一次性的。