c# 串口 如何用ReadExisting()只读取前面的30位数据(当对方一直在发送数据时)

ReadExisting是读取当前串口缓冲里所有数据,不能用来只读取前面的30位数据。

应该用Read方法:
byte[] buf = new byte[30];
serialPort1.Read(buf, 0, 30);

 

串口通信,频繁发送数据, ReadExisting()得到一样的数据

代码有问题呗
发送之后不要立即接收,没法确保收到完整的数据
加个足够长的sleep试试,在读取之前加一个sleep

posted @ 2020-03-28 14:03  惊风雨  阅读(2564)  评论(0编辑  收藏  举报