关于CC2530休眠模式下DMA串口发送的问题
时间:10-02
整理:3721RD
点击:
小弟最近在做一个项目,遇到一个费解的问题,求前辈们指教~~~
我用的是Zstack协议栈,开启了POWER_SAVING宏定义,串口用的是DMA方式,定时唤醒系统后,事件处理如下
if ( events & GENERICAPP_RFSEND_MSG_EVT )
{
HalUARTWrite(0,"ABCDE",5);
//GenericApp_SendTheMessage();
osal_start_timerEx( GenericApp_TaskID,
GENERICAPP_RFSEND_MSG_EVT,
RFSEND_TIMEOUT );
// return unprocessed events
return (events ^ GENERICAPP_RFSEND_MSG_EVT);
}
这样就会出现只能发送前3个字节的现象,不知道为啥,前前后后试了各种方法还是不行,
但是取消GenericApp_SendTheMessage(); 的注释之后串口发送就正常了。。。而且改为ISR方式发送串口数据是没有问题的,
关掉低功耗之后也是没有问题的,唯独在开启低功耗和用DMA方式发送数据会出问题,这个该怎么破呢~前辈们