HI,管理员&各社员:
刚接触CC2540,被OSAL搞混乱了。
在官方例程KeyFobDemo中是如何通过按键来发生广播事件的,KEY的值是如何传递的,并且系统得到把EVT之后在哪里设置开始广播!?
对于获取Key值我的理解是:在Hal_ProcessEvent:
if (events & HAL_KEY_EVENT)
{
#if (defined HAL_KEY) && (HAL_KEY == TRUE)
/* Check for keys */
HalKeyPoll();
/* if interrupt disabled, do next polling */
if (!Hal_KeyIntEnable)
{
osal_start_timerEx( Hal_TaskID, HAL_KEY_EVENT, 100);
}
#endif return events ^ HAL_KEY_EVENT; }
这是获取key值的语句,而且在void HalKeyPoll (void) 里面,最后有这样一条语句:
/* Invoke Callback if new keys were depressed */
if (notify && (pHalKeyProcessFunction))
{
(pHalKeyProcessFunction) (keys, HAL_KEY_STATE_NORMAL);
}
请问这条就是发送key的事件函数吗?我该如何去理解这句话,这是一个回调函数,回调给谁?
而且在哪个具体的地方能了解key事件来触发BLE的广播的?
请各位帮我指点指点方向,不胜感激!