波特率是115200并不是说串口就一直在接收和发送数据,10ms不一定能够接收到123个字符的,所以这个计算时间的方式是不对的。这里应该每隔10ms主动去读取一次串口缓冲区,而不管缓冲区存放了多少字节。 可以有很多方法,用线程或者定时器,间隔10ms就去读串口,读到数据之后自己怎么处理都行了。