微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 进入PM3后,按键中断无法唤醒

进入PM3后,按键中断无法唤醒

时间:10-02 整理:3721RD 点击:

用CC2541制作一个蓝牙按钮,在不使用的时候进入PM3省电模式

用的是HIDEmuKbd这个工程,在hal_drivers.c的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, HAL_KEY_SEARCH_DELAY);
}
#endif
return events ^ HAL_KEY_EVENT;
}

当HAL_KEY_SEARCH_DELAY = 3时,在断开连接,停止广播之后,系统能进入PM3,并且能用按键唤醒

但是,HAL_KEY_SEARCH_DELAY  = 1,或者2,时,在断开连接,停止广播之后,系统只能能进入PM2

当我在断开连接并且停止广播之后,再用osal_stop_timerEx()把上面的定时器给停了,系统可以进入PM3,但是按键中断无法唤醒

hal_key.c中

void HalKeyEnterSleep ( void )
{
}

HalKeyEnterSleep()为空。

麻烦大家帮我看看,具体是怎么回事,为什么只有扫描时间为3ms,才能进入PM3并且能成功唤醒,我现在需要缩短扫描时间,又会影响到睡眠模式

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

网站地图

Top