首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

MScomm无效的端口号,该如何解决

2012-04-13 
MScomm无效的端口号串口初始化Private Sub Form_Load()MSComm1.CommPort 1设置通信端口号为COM1MSComm

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
[解决办法]
探讨
'在运行到 MSComm2.PortOpen = True 是叫报错 无效的端口号。
我在设备管理器那里检查了下,发现通信端口只有com1 没有发现com2 请问是不是这个原因呢????这个应该问题怎么解决呢,谢谢!!!

[解决办法]
只有一个COM口也不能说端口号就一定是1呀
[解决办法]
具体是如何分配端口号我不懂, 但是这个是可以配置的, 你在设备管理器里看看你的端口号是什么就知道了.
[解决办法]
探讨
只有一个COM口也不能说端口号就一定是1呀

[解决办法]
探讨
为什么呢,是不一般电脑都只有一个COM口呢

[解决办法]
打开设备管理器看看里面有没有COM2?如果没有,那么你的程序肯定出错。
[解决办法]
是,就是这个原因。
只有在设备管理器里看到的设备才可以使用。

热点排行