以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  com口参数  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=192609)

--  作者:puma
--  发布时间:2024/7/4 15:51:00
--  com口参数
frmSerial.MSComm1.CommPort = 1 \'Example of Comm 1 
 frmSerial.MSComm1.Settings = "9600,o,7,1" \'Example of 9600 Baud,Parity,Data,Stop 
 frmSerial.MSComm1.InputLen = 1 \'Read one character at a time 
 frmSerial.MSComm1.PortOpen = True \'Open port  


哪里有错误?
    Ports.Add("COM5")
    With Ports("COM5")
        .close
        .Parity=Parity.Odd
        .StopBits=StopBits.One
        .BaudRate = 9600
        .DataBits =7
        \'.ReadTimeout=2000
        .Open 
    End With
[此贴子已经被作者于2024/7/4 15:52:05编辑过]

--  作者:有点蓝
--  发布时间:2024/7/4 16:10:00
--  
没看出有啥问题。代码执行有什么错误?确定设备使用的是COM5吗
--  作者:puma
--  发布时间:2024/7/4 16:14:00
--  
没有读取到数据,frmSerial.MSComm1.InputLen = 1 \'Read one character at a time     这个不知道是什么意思?
--  作者:puma
--  发布时间:2024/7/4 16:16:00
--  应该能读取到这样的数据
图片点击可在新窗口打开查看
--  作者:puma
--  发布时间:2024/7/4 16:20:00
--  

    Ports("COM5").Write("READ?")
    \'例如向COM2写入字符"abcd":
    Dim TdataReceivedXYZ As String
    TdataReceivedXYZ = Ports("COM5").ReadLine

图片点击可在新窗口打开查看
--  作者:有点蓝
--  发布时间:2024/7/4 16:30:00
--  
没看懂,我也不知道是什么意思。
--  作者:puma
--  发布时间:2024/7/5 9:50:00
--  
Ports("COM5").InputLen = 1   \'设置Input 一次从接收缓冲读取字节数为1
这个怎么写?

--  作者:有点蓝
--  发布时间:2024/7/5 9:55:00
--  
没有这种设置。如果是要接收一个字节内容,参考:http://www.foxtable.com/webhelp/topics/1979.htm

    Dim Val(0As Byte
    e.Port.Read(val,
0,1)

--  作者:有点蓝
--  发布时间:2024/7/5 9:56:00
--  
或者试试ReadBufferSize这个参数:http://www.foxtable.com/webhelp/topics/1976.htm