大家好,我用TM4C129芯片的RS232串口通讯,波特率115200bps,100ms的数据刷新速率,20个字,在串口接收判断帧头和校验,如果正确则全部接收,但出现如下问题:在串口端用串口调试助手测试数据包接收正常,但在TM4C芯片中会出现数据包接收不完整的情况。还请遇到类似问题战友不吝赐教。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好,我用TM4C129芯片的RS232串口通讯,波特率115200bps,100ms的数据刷新速率,20个字,在串口接收判断帧头和校验,如果正确则全部接收,但出现如下问题:在串口端用串口调试助手测试数据包接收正常,但在TM4C芯片中会出现数据包接收不完整的情况。还请遇到类似问题战友不吝赐教。
您好啊,我在软件中初始化串口配置,将FIFO使能去掉了,处理串口数据时采用定时处理的方式(之前采用的是串口中断),测试了大概快4个小时,收发100ms,很正常。
void InitUART1(void)
{
ROM_GPIOPinConfigure(GPIO_PB0_U1RX);
ROM_GPIOPinConfigure(GPIO_PB1_U1TX);
ROM_GPIOPinTypeUART(GPIO_PORTB_BASE, GPIO_PIN_0| GPIO_PIN_1);
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART1);
ROM_UARTConfigSetExpClk(UART1_BASE, ui32SysClock, 115200,//SysCtlClockGet()
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_NONE));
// ROM_UARTFIFOEnable(UART1_BASE);
// ROM_UARTFIFOLevelSet(UART1_BASE, UART_FIFO_TX2_8, UART_FIFO_RX2_8);
ROM_UARTIntEnable(UART1_BASE, UART_INT_TX |UART_INT_RX | UART_INT_RT);
ROM_IntEnable(INT_UART1);
ROM_UARTEnable(UART1_BASE); // ??UART??
}
如上,但是屏蔽掉FIFO使能,串口中断应该是多少个字节中断一次呢?是一个字节中断一次吗?