以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 串口连续扫描报超时错误 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=113854) |
-- 作者:colink -- 发布时间:2018/1/24 10:45:00 -- 串口连续扫描报超时错误 串口连续扫描报超时错误,单次扫描并且隔几秒再扫没问题。请帮忙,代码如下: 监视器代码 Forms("数据扫描").Controls("bar").value =e.Port.ReadTo(Chr(10)) 串口代码 Dim txt As String=e.Form.controls("com").value If Ports.Contains(txt) = False Then Ports.Add(txt) End If If Ports(txt).Isopen=True Then Ports(txt).Close() End If With Ports(txt) .Parity = Parity.None .Handshake = Handshake.None .StopBits = StopBits.One .BaudRate = 38400 .DataBits = 8 .ReadBufferSize() = 4096 .WriteBufferSize() = 2048 .Encoding = Encoding.ASCII .Open End With messagebox.show("打开成功") |
-- 作者:有点甜 -- 发布时间:2018/1/24 10:47:00 -- 你窗口控件【bar】那里,有没有写有什么代码?或者你窗口那里有没有写什么其它代码? |
-- 作者:colink -- 发布时间:2018/1/24 10:52:00 -- 目前还没有 |
-- 作者:colink -- 发布时间:2018/1/24 10:53:00 -- baR控件不会运行其他代码 |
-- 作者:有点甜 -- 发布时间:2018/1/24 12:25:00 -- 如果改成这样呢?是否报错?
dim str = e.Port.ReadTo(Chr(10)) |
-- 作者:有点甜 -- 发布时间:2018/1/24 12:26:00 -- 或者改成这样呢
dim str = e.port.ReadExisting |
-- 作者:colink -- 发布时间:2018/1/24 20:12:00 -- 改为dim str = e.Port.ReadTo(Chr(10))一样报超时错 改为dim str = e.port.ReadExisting不报错,但读出来的数据位数不正确,16位的条码,有时是正确的,有时只有一部分
|
-- 作者:有点甜 -- 发布时间:2018/1/24 20:27:00 -- 你试试这样处理
vars("str") = vars("str") & e.port.ReadExisting
然后在需要的地方,处理str字符串,如
Dim str As String = vars("str") |