zstack 串口接收问题
在GenericApp之上,添加了以下代码:
void GenericApp_Init( uint8 task_id )
{
...
halUARTCfg_t uartConfig;
uartConfig.configured = TRUE;
uartConfig.baudRate = HAL_UART_BR_115200;
uartConfig.flowControl = FALSE;
uartConfig.callBackFunc = rxCB;
HalUARTOpen (0, &uartConfig);
...
}
static void rxCB(uint8 port,uint8 event)
{
unsigned char Uartbuf[10]={0};
unsigned char len=0;
len=HalUARTRead(0,Uartbuf,10);
HalUARTWrite(0,"in rxCB\n",sizeof("in rxCB\n"));
if(len)
{
HalUARTWrite(0,Uartbuf,len);
}
}
但是模块一上电就会进入串口回掉函数,并且死循环,一直打印in rxCB,有人知道是什么问题吗?
建议您设置断点进行逐步调试
每次都是进入这里
else if (cnt >= HAL_UART_DMA_HIGH)
{
evt = HAL_UART_RX_ABOUT_FULL;
PxOUT |= HAL_UART_Px_RTS; // Disable Rx flow.
}
然后
if (evt && (dmaCfg.uartCB != NULL))
{
dmaCfg.uartCB(HAL_UART_DMA-1, evt);
}
调用了回调函数