CC2541睡眠模式下,为什么中断无法唤醒?

2019-07-18 14:49发布

CC2541睡眠模式下,为什么中断无法唤醒?


CC2541在广播模式下每次按按键都会进入  HAL_ISR_FUNCtiON( halKeyPort0Isr, P0INT_VECTOR )   函数,当我关闭广播和所有定时器后(可能进入了PM3),按按键进不去中断函数  HAL_ISR_FUNCTION( halKeyPort0Isr, P0INT_VECTOR )   里面;打开5s一次的周期时间 SBP_PERIODIC_EVT 又可以进入中断函数了(可能进入了PM2),但是相应不及时,按下按键几秒才进入中断函数。

请问一下,是什么原因?是不是中断没有配置好?

关闭 POWER_SAVING 按键中断正常执行,一打开POWER_SAVING 中断就执行不了了。

我按键配置如下(用的P0.3管脚):

#define HAL_KEY_SW_1_PORT P0
#define HAL_KEY_SW_1_BIT BV(3)
#define HAL_KEY_SW_1_SEL P0SEL
#define HAL_KEY_SW_1_DIR P0DIR
#define HAL_KEY_CPU_PORT_0_IF P0IF

#define HAL_KEY_SW_1_IEN IEN1 /* CPU interrupt mask register */
#define HAL_KEY_SW_1_ICTL P0IEN /* Port Interrupt Control register */
#define HAL_KEY_SW_1_ICTLBIT BV(3) /* P0IEN - P0.0 enable/disable bit */
#define HAL_KEY_SW_1_IENBIT BV(5) /* Mask bit for all of Port_0 */
#define HAL_KEY_SW_1_PXIFG P0IFG /* Interrupt flag at source */




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
广电总局
1楼-- · 2019-07-18 15:51
看上去都正常啊。。。

感觉像是IO无法从PM3 把系统唤醒。POWER_SAVING模式打开的情况下蓝牙连接正常吗?
djfldsthtr
2楼-- · 2019-07-18 16:27
已经解决了,是睡眠文件里面有个中断标志位没打开。
sunflowerzt
3楼-- · 2019-07-18 21:31
djfldsthtr 发表于 2016-4-7 15:04
已经解决了,是睡眠文件里面有个中断标志位没打开。

具体在哪儿?我也遇到同样的问题。

一周热门 更多>