单片机通过串口向PC不间断发送变化的数据,PC接收总是延迟

单片机通过串口向PC不间断发送变化的数据,波特率设置一致,但PC端接收总是延迟,无法实时的反应单片机端数据的变化,不知道是什么原因

这个问题很常见了,解决方法:
如果你能更改上位机软件,将上位机软件接收数据那块改为"一旦接收缓冲区有数据,立刻读出来显示".
如果你没办法更改上位机软件,那么你可以间隔发送,比如两包数据间隔为0.5S,或者找一款可以实时显示的调试助手,推荐使用ttermpro测试下追问

上位机的确是用的“一接收到数就立即显示”的,用的是CSerial Port类编写的串口部分,每到达一个字符就显示。用串口助手的话就能实时显示~我也不知道怎么回事,很是纠结啊~

追答

那这是你上位机编程问题了,这方面我就没什么能帮到你的了,即使你调用CSerial Port类,这个类是怎么封装的,是没办法知道的

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-20
用的是什么上位机?我以前用vs2005写单片机的上位机也遇到过这样的问题,就是单片机不断的发数据,上位机设置个定时器控件不断的读取数据,如果发的速度快过读的速度就会这样,如果读的速度快过发的速度上位机程序又运行起来会出现终止程序的错误。追问

用VC写的,貌似的确是发的快收的慢。。

第2个回答  2013-03-27
相似回答