MScomm无效的端口号
'串口初始化
Private Sub Form_Load()
MSComm1.CommPort = 1 '设置通信端口号为COM1
MSComm1.Settings = "9600,n,8,1" '设置串口参数
MSComm1.InputMode = 0 '接收文本型数据
MSComm1.PortOpen = True '打开通信端口1
MSComm2.CommPort = 2 '设置通信端口号为COM2
MSComm2.Settings = "9600,n,8,1" '设置串口参数
MSComm2.InputMode = 0 '接收文本型数据
MSComm2.PortOpen = True '打开通信端口2
End Sub
'把字符通过串口发送出去
'启动定时器
Private Sub Cmdsend_Click()
MSComm1.Output = Trim(Textsend.Text)
Timer1.Enabled = True
End Sub
'接收字符
Private Sub Timer1_Timer()
Dim buf$
Timer1.Enabled = False
buf = Trim(MSComm2.Input) '将缓冲区内的数据读入buf变量中
If Len(buf) = 0 Then '判断缓冲区内是否存在数据
TextReceive.Text = ""
Else
TextReceive.Text = buf
End If
End Sub
'停止程序运行
Private Sub Cmdquit_Click()
Unload Me
End Sub
'关闭通信端口,
Private Sub Form_Unload(Cancel As Integer)
MSComm1.PortOpen = False
MSComm2.PortOpen = False
End Sub
在运行到 MSComm2.PortOpen = True 是叫报错 无效的端口号。
我在设备管理器那里检查了下,发现通信端口只有com1 没有发现com2 请问是不是这个原因呢????这个应该问题怎么解决呢,谢谢!!!
[解决办法]
LZ的主板仅一个COM1口,没有COM2口.
- VB code
Private Sub Form_Load() MSComm1.CommPort = 1 '设置通信端口号为COM1 MSComm1.Settings = "9600,n,8,1" '设置串口参数 MSComm1.InputMode = 0 '接收文本型数据 MSComm1.PortOpen = True '打开通信端口1 'MSComm2.CommPort = 2 '设置通信端口号为COM2 'MSComm2.Settings = "9600,n,8,1" '设置串口参数 'MSComm2.InputMode = 0 '接收文本型数据 'MSComm2.PortOpen = True '打开通信端口2End Sub
[解决办法]
[解决办法]
只有一个COM口也不能说端口号就一定是1呀
[解决办法]
具体是如何分配端口号我不懂, 但是这个是可以配置的, 你在设备管理器里看看你的端口号是什么就知道了.
[解决办法]
[解决办法]
[解决办法]
打开设备管理器看看里面有没有COM2?如果没有,那么你的程序肯定出错。
[解决办法]
是,就是这个原因。
只有在设备管理器里看到的设备才可以使用。