1.最有可能是总超时时间设置的太小,或者间隔时间设置的太大
可以先读一下看看
ReadTotalTimeoutMultiplier =读取超时 :20 改为10没用
ReadIntervalTimeout =50 //两字符之间最大的延时,当读取串口数据时,一旦两个字符传输的时间差超过该时间,读取函数将返回现有的数据。
ReadTotalTimeoutConstant = 5
20*104+5=2085ms
1s 传输9600字节,肯定够了, 总超时,应该没问题
间隔超时应该也没问题
读两个字节之sleep ReadIntavlTime= 读取时间间隔:25
轮训间隔 : 15
1.间隔超时设置小一点 没用 96
2.总超时再设置大一些 没用 变空
3.缓冲区太小(可能性很小)
4.读取时间间隔 应该设置大一些, ---设置的太大了,所以处理时间不对,前面的数据已经被后面的淹没了,应该减小
5.是不是固定的缺少8个? 是不是缩小一半没有这个问题?
sleep的单位是毫秒