楼主: cyril3

深入浅出Z-Stack 2006 OSAL多任务资源分配机制

[复制链接]
whmqxx 发表于 2012-5-29 17:07:30 | 显示全部楼层
写的真好,前辈啊!
小维. 发表于 2012-5-29 22:24:02 | 显示全部楼层
很好,很强大!!!
wengjianfen 发表于 2012-6-5 23:53:23 | 显示全部楼层
哥,你很强大,按键通过设置100ms来轮询,这么说这个任务
Hal_ProcessEvent( uint8 task_id, uint16 events )
应该一直被调用才对,否则无法执行你所说的一切,可我四处找,都没有执行这个任务,那何来的HalKeyPoll呢?
wengjianfen 发表于 2012-6-5 23:55:17 | 显示全部楼层

哥,你很强大,按键通过设置100ms来轮询,这么说这个任务
Hal_ProcessEvent( uint8 task_id, uint16 events )
应该一直被调用才对,否则无法执行你所说的一切,可我四处找,都没有执行这个任务,那何来的HalKeyPoll呢?
wengjianfen 发表于 2012-6-6 00:23:18 | 显示全部楼层
wengjianfen 发表于 2012-6-5 23:55
哥,你很强大,按键通过设置100ms来轮询,这么说这个任务
Hal_ProcessEvent( uint8 task_id, uint16 eve ...

哥,我错了,原谅我的愚昧吧!
在这里Hal_Init( taskID++ );有这句话,之后初始化的时候又调用了这个osal_start_reload_timer( Hal_TaskID, PERIOD_RSSI_RESET_EVT, PERIOD_RSSI_RESET_TIMEOUT );,所以会一直执行Hal_ProcessEvent任务;

不会错吧!{:soso_e149:}
wengjianfen 发表于 2012-6-6 01:25:32 | 显示全部楼层
wengjianfen 发表于 2012-6-6 00:23
哥,我错了,原谅我的愚昧吧!
在这里Hal_Init( taskID++ );有这句话,之后初始化的时候又调用了这个osa ...

好吧,真的错了。
Hal_TaskID这个就是Hal_ProcessEvent的ID,所以每次执行osal_start_timerEx( Hal_TaskID, HAL_KEY_EVENT, 100)这个都会调用Hal_ProcessEvent,进而根据event是HAL_KEY_EVENT来做相应处理?而HAL_KEY_EVENT就是用来轮询之类的操作。
第一次执行这个是在hal_key.c中osal_set_event(Hal_TaskID, HAL_KEY_EVENT);              
     对了么?在床上想着不对劲,爬起来研究研究,果然不对。如果还有缺漏,请各位大侠批评指正啊!
whmqxx 发表于 2012-6-6 11:25:41 | 显示全部楼层

学习了,很清晰
mecm 发表于 2012-6-7 11:15:12 | 显示全部楼层
大仙,神人!
sunke1988 发表于 2012-6-12 10:21:08 | 显示全部楼层
楼主真的很厉害,佩服
爱比克泰德 发表于 2012-6-12 14:12:05 | 显示全部楼层
写得真好。学习了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表