微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > HAL-key处理流程是怎样的

HAL-key处理流程是怎样的

时间:12-22 整理:3721RD 点击:

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;
}上面的代码处理按键任务时,通过调用HALKEYPOll()这个函数用来查询按键状态,HALKEYPoll()到最后调用(*halKeyCBack_t) (uint8 keys, uint8 state);

不知道最后调用的那个函数使用来干什么的,是给OSAL发送消息用的吗?

通常是回调函数。使用 HalKeyConfig( OnboardKeyIntEnable, OnBoard_KeyCallback);注册,OnBoard_KeyCallback会把按键信息发送给使用RegisterForKeys( xxx_TaskID )注册的任务,任务会处理这个KEY_CHANGE事件,debug进去,一步步跟,很容易定位。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top