之前做的串口通信的窗体程序从来没有这种情况
比如下位机发送 A1 A2 A3
我接收到的是 A1 A2
然后到下一个DataReceived 事件里 才收到A3
由于之前封装好了处理方法 不想在做改动 所以想是不是串口哪个属性可以解决这个问题,接收字符串方法倒是可以设置结束符但是现在是 8位hex没有结束符号。
实在没有简单的解决办法 只有通过 判定 缓存的count 重新写处理过程了
设置一下readtimerout属性
设置的太短,有可能发送的慢了一点,就认为已经超时,是下一次的发送了
有个接收到几个字符就出发数据接收事件的选项,你找找看。
个人感觉吧 和这个 timeout 无关 但是尝试了下 还是不行
最后我用Readbyte()方法成功了
先给个缓冲大小 this.SerialPortObject.ReadBufferSize = 8;
然后 循环 readbyte()