tasksEvents中的值是从哪里来?
请问各位前辈, osal_run_system( void )函数中,tasksEvents[idx]中的值是从哪里来的? 因为初始值都是0了,是在哪个函数里此值改变的?谢谢。
const pTaskEventHandlerFn tasksArr[] =
{
LL_ProcessEvent, // task 0
Hal_ProcessEvent, // task 1
HCI_ProcessEvent, // task 2
#if defined ( OSAL_CBTIMER_NUM_TASKS )
OSAL_CBTIMER_PROCESS_EVENT( osal_CbTimerProcessEvent ), // task 3
#endif
L2CAP_ProcessEvent, // task 4
GAP_ProcessEvent, // task 5
GATT_ProcessEvent, // task 6
SM_ProcessEvent, // task 7
GAPRole_ProcessEvent, // task 8
GAPBondMgr_ProcessEvent, // task 9
GATTServApp_ProcessEvent, // task 10
}
这里面的排序号
非常感谢这个论坛里有热心的技术朋友。
我想知道 ;
既然主函数不断通过osal_run_system( void )在检测tasksEvents[idx]的值,以便执行相应的动作处理。
我想了解SimpleBLEPeriphereral范例的程序工作原理是不是如下这样:
tasksEvents[idx] 的值是当某一事件发生时,程序进入中断后的函数将tasksEvents[idx] 赋值了,这样当中断完毕返回
osal_run_system( void )时,就可以根据asksEvents[idx]的值执行相应的任务了?
这些代码是osal实现RTOS功能的,具体原理可以看RTOS的概念介绍,内核的东西最好不要修改。
非常感谢Fred朋友!
是从 tasksEvents idx 相关文章:
- CC254x datasheet里P1.1/P1.0口的电流20mA是最大允许的电流吗?是从P1.1里拉出来,还是灌进去?
- SimpleProfile_SetParameter()和GATT_Notification()都是从机发数据的函数吗?他们有什么区别吗?
- IOS蓝牙看到的设备名称不是从机所广播出的设备名称?
- HCI_ReadRssiCmd()读出来的是主机的RSSI还是从机的RSSI?
- TI官方OAD off chip,校验是从哪里开始计算的,OAD boot程序里面是怎样比对校验的?
- 各个例程中,发生的事件是怎么被读取到的?events=tasksEvents;这句话。还有tasksEvents=0;的作用是什么呢?