以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  串口接受数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=132106)

--  作者:lk15502
--  发布时间:2019/3/14 7:46:00
--  串口接受数据
电子秤链接电脑,在设备监视器的DataReceived事件写入代码:
Select Case e.Port.PortName
    Case "COM1"
        Forms("唛头打印").Controls("TextBox1").Text &= e.Port.ReadExisting()
End Select
打开项目的第一次能接受到电子秤的数据,去掉秤上的货物texbox1也能显示空白,但第二次把货物放到电子秤texbox1就没有反应了;老师这是什么原因?怎么解决?、

--  作者:lk15502
--  发布时间:2019/3/14 7:47:00
--  
Forms("唛头打印").Controls("TextBox1").Text = e.Port.ReadExisting()
--  作者:有点甜
--  发布时间:2019/3/14 9:30:00
--  

在事件顶部,加入代码,如 msgbox(1) 看能否弹出窗口。


--  作者:lk15502
--  发布时间:2019/3/17 13:53:00
--  
我用笔记本调试包括打包的程序,都能正常显示电子秤的数值变化,可是放到台式机就不能显示电子秤的数值了,重装系统也没有用


--  作者:lk15502
--  发布时间:2019/3/17 13:53:00
--  
在台式机上用串口小助手,能显示电子秤的数值变化
--  作者:lk15502
--  发布时间:2019/3/17 14:39:00
--  
这是什么原因?老师?
--  作者:有点蓝
--  发布时间:2019/3/18 9:31:00
--  
事件能不能触发?在事件第一行,加入代码,如 msgbox(1) 看能否弹出窗口。
--  作者:有点甜
--  发布时间:2019/3/18 10:39:00
--  

 

在事件顶部,加入代码,如 msgbox(1) 看能否弹出窗口?

 

 


--  作者:lk15502
--  发布时间:2019/3/18 20:08:00
--  
事件的代码:
Select Case e.Port.PortName
    Case "COM1"
        Dim s As String = e.Port.ReadExisting()
        Dim A As Integer = s.LastIndexOf(" ")
        s = s.SubString(a+1)
        s = Val(s)
        Forms("唛头打印").Controls("TextBox7").Text = s
End Select
这样的代码只会在打开时,显示电子秤的数值,加入msgbox(1)后,正常了就是买次要弹出1;老师这是什么原因?


--  作者:有点蓝
--  发布时间:2019/3/18 20:15:00
--  
Output.Show("接收到数据,端口=" & e.Port.PortName)
Select Case e.Port.PortName
    Case "COM1"
        Dim s As String = e.Port.ReadExisting()
        Dim A As Integer = s.LastIndexOf(" ")
        s = s.SubString(a+1)
        s = Val(s)
if Forms("唛头打印").opened then
        Forms("唛头打印").Controls("TextBox7").Text = s
else
Output.Show("窗口没有打开,已丢弃接收到数据=" & s)
end if
End Select

然后打开命令窗口,看输出结果