如题,使用cc2540,再宏里面开了POWER_SAVING 这个宏后, 串口一直打印不出来,串口使用了DMA模式,无流控, NPI的api ! 去掉POWER_SAVING 后能够正常打印信息!这里我大体知道是开启POWER_SAVING后进入了休眠模式PM2 导致 串口的晶振 关闭了!!
我尝试使用了osal_start_timerEx( MyAPP_TaskID, SBP_MyAPP_EVT, 2000 );定时器来唤醒串口,定时启动打印信息,无效!
网上查询可以使用osal_pwrmgr_device(PWRMGR_ALWAYS_ON); 来唤醒,同样没有打印输出!
相关代码如下:
MyApp_processEvent()
{
.....
if ( events & SBP_MyAPP_EVT)
{
osal_pwrmgr_device(PWRMGR_ALWAYS_ON);
...............
NPI_WriteTransport(Msg,strlen(Msg));
.................
osal_pwrmgr_device(PWRMGR_BATTERY);
}
}
由于这边没有外部中断 ,也使用不了流控来唤醒, 能不能通过其他代码的中断或者其他来唤醒串口打印信息???
TI的大神,帮忙看看, 万分感谢