大家好:
本人BLE小白,现做低功耗时遇见以下问题,求解
1、我对PM2模式工作的条件理解是:协议栈中只要宏POWER_SAVING,其他不用修改,在系统没有定时任务事件发生时就自动进入PM2模式,当任务定时到达时自动退出低功耗,请问我这么理解对吗?
2、如果在系统进入PM2模式时,预想通过外部条件使其退出低功耗进入正常工作,可否采用P0口中断方式唤醒呢?我在P0_4端口连接一个按键采用上升沿方式进入中断(中断中不做任何处理,只为唤醒系统),达不到预想的结果,请问我用该中断方式有什么问题吗?
3、将按键扫描函数添加至1S的循环事件中,我以为当1S扫描按键时如果按键被触发,则进行其他处理,但实际这样也无法实现
Viki Shi:
追踪一下代码,是否能执行到中断处理函数
user4437673:
回复 Viki Shi:
您好,谢谢回答我的问题,可以进入中断的
1、我采用P0_4端口接按键作为产生中断的条件,想问一下,中断程序里面没有任何操作,仅仅是为了用中断唤醒睡眠,不知道这样可不可以实现唤醒?
2、由于我按键需区分长按或者短按,所以自己这协议栈里面添加了timer4作为按键定时,这才导致系统进入低功耗时timer4定时出了问题,不知道我采用的这种办法合不合理?如果不可行该怎么办呢?
3、只要宏POWER_SAVING被打开,没有事件任务时是否自动进入PM2模式呢?
user4437673:
回复 Viki Shi:
补充说明一下:我在按键中断里面使能了timer4,然后按键计时