在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,有人知道是什么问题吗?
Susan Yang:
建议您设置断点进行逐步调试
fan lee1:
回复 Susan Yang:
每次都是进入这里
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); }
调用了回调函数