注册 登录
编程论坛 VB.NET论坛

(求助)串口定时发送数据

lylyl13 发布于 2013-08-26 13:51, 1069 次点击
采用vb2010自带的serialport类,在定时器事件里面发送指令并接收返回数据,定时器时间间隔interval是1s,串口的超时属性readtimeout设置为2s,现在看来是等待数据返回根本不会等待2s 发送还是1s一次,是不是readtimeout用法的问题?

另一个问题:定时器和串口也是联合使用,定时器时间间隔是1s,在这1s时间内发送指令接收数据,有时在这1s之内代数据接收不完整,到了时间又会继续发送,就会导致出错。不想改定时器间隔的情况下,这种问题如何解决?如何延迟发送
1 回复
#2
danliandeyu2013-11-08 14:43
回复 楼主 lylyl13
readtimeout是串口接收超时时间跟接收数据等待时间没有关系,串口接收是靠事件SerialPort1_DataReceived的触发,SerialPort1_DataReceived触发的条件是接收数据的个数 SerialPort1.ReceivedBytesThreshold来设定的。
另外的问题可以通过定义读取标志位来解决,当串口处于读取状态时读取标志位置为1,定时器检测到读取标志位为1时就不发送数据即可。
1