情景:启动了一个定时器去周期性的执行SimpleBLEPeripheral_ProcessEvent里的某一个事件。在这个时间里去调用串口打印函数。
启动了POWER_SAVING、而且能顺利进入休眠状态!
问题:1.串口打印失败是因为处于PM2模式么?我在串口打印函数地方打了一个断点,run到断点时halPwrMgtMode为0x02。
2.休眠之后执行任务事件时不是处于PM1模式?为什么?这样我的串口不能打印出数据!!!!
Viki Shi:
1、低功耗模式下不可使用串口通信
2、休眠醒来执行任务,应该是activity模式,此时串口可以使用
sure liu:
回复 Viki Shi:
低功耗不能使用串口,我定义的答应函数是在simpleBLEPeriphal 工程的SBP_PERIODIC_EVT事件里周期性执行,但是必须将P0_4拉低串口调试助手中才能收到数据
if ( events & SBP_PERIODIC_EVT ) //工程里的app事件 { // Restart timer if ( SBP_PERIODIC_EVT_PERIOD ) { osal_start_timerEx( simpleBLEPeripheral_TaskID, SBP_PERIODIC_EVT, SBP_PERIODIC_EVT_PERIOD ); } sbpSerialAppWrite(table1,1); //打印函数 // Perform periodic application task // performPeriodicTask();
return (events ^ SBP_PERIODIC_EVT);
}
能不能给出详细解释!谢谢
Viki Shi:
回复 sure liu:
串口收发需要晶振支持,低功耗模式下回关闭晶振,所以使用串口时不能选择power saving
sure liu:
回复 Viki Shi:
那这样对功耗有没有影响 ?这个比PM2功耗多多少
TI中文支持网


