以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 破案了, 串口问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=147879) |
-- 作者:sloyy -- 发布时间:2020/3/26 13:27:00 -- 破案了, 串口问题 3月20日我发帖说升级后,串口有问题 新版本升级后,串口出问题http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=147607&replyID=&skin=1 因为顾客在外地,一时找不到原因,今天终于被我找到原因了: 顾客的电脑是老实的台式机,有2个串口(com1,com2),我们开发用的电脑只有1个串口com1 Ports.Add("COM1") With Ports("COM1") 肯定是没问题 但是顾客把客显插在了com2 上,难怪不显示。 现在问题来了,foxtable有没有办法检测顾客用了那个串口? 我估计难,因为客户显示器无需握手信号就可接受数据,所以我采用了笨办法遍历: \'打开串口 For Each SP As String In Ports.PortNames Ports.Add(SP) With Ports(SP) .Close() .Parity = Parity.None .Handshake = Handshake.None .StopBits = StopBits.One .BaudRate = 2400 .DataBits = 8 .ReadBufferSize() = 2048 .WriteBufferSize() = 2048 .Open End With Next 发送数据 关闭串口 都用同样的办法。缺点就是多占用了一个串口 各位大师还有没有更好的办法? |
-- 作者:有点蓝 -- 发布时间:2020/3/26 14:04:00 -- 试试 Dim c1 As String Dim cms() As String = {"COM1","COM2"} For Each c As String In cms Ports.Add(c) For Each sp As String In Ports.PortNames If sp c Then c1 =c Exit For End If Next If c1 > "" Then Exit For End If If c1 > "" With Ports(c1) .Close() .Parity = Parity.None .Handshake = Handshake.None .StopBits = StopBits.One .BaudRate = 2400 .DataBits = 8 .ReadBufferSize() = 2048 .WriteBufferSize() = 2048 .Open End With End If |
-- 作者:sloyy -- 发布时间:2020/3/26 14:09:00 -- 还有2种情况要考虑: 1 有些电脑没有com口,这样写会不会报错? 2 有些电脑有COM3,COM4 [此贴子已经被作者于2020/3/26 14:09:34编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/3/26 14:12:00 -- 试试就知道了 Dim cms() As String = {"COM1","COM2","COM3","COM4"}
|
-- 作者:sloyy -- 发布时间:2020/3/26 16:50:00 -- 是这样吗: Dim c1 As String Dim cms() As String = {"COM1","COM2"} For Each c As String In cms Ports.Add(c) For Each sp As String In Ports.PortNames If sp = c Then c1 =c Exit For End If Next If c1 > "" Then Exit For next If c1 > "" With Ports(c1) .Close() .Parity = Parity.None .Handshake = Handshake.None .StopBits = StopBits.One .BaudRate = 2400 .DataBits = 8 .ReadBufferSize() = 2048 .WriteBufferSize() = 2048 .Open End With End If |
-- 作者:有点蓝 -- 发布时间:2020/3/26 17:16:00 -- 那就没有办法了 |