在主程序里实现把接收到的数据再用串口发出去,每次数据格式基本固定, 内容多了后就会出现少发数据的情况,这是啥情况。晶振:22.1184MHz,波特率19200、38400、57600都试了,都会出现少发数据的情况图片是接收的是已经发出来的数据

    while (1)

    {

            delay_ms(5);

            

            if(COM1.RX_TimeOut > 0)                //超时计数

            {

                    if(--COM1.RX_TimeOut == 0)

                    {

                            P54=!P54;

                            PrintString1("No01:\r\n");

                            if(COM1.RX_Cnt > 0)

                            {

                                    

                                    for(i=0; i<COM1.RX_Cnt; i++)        

                                    TX1_write2buff(RX1_Buffer[i]);        //收到的数据原样返回

                            }

                                                                    

                            COM1.RX_Cnt = 0;

                    }

            }

    }

}

串口收到的数据

image.png

最后这个 No01: 8 这里就少发了一次数据 8