
关于VB串口打时有错误提示窗口
哦,这个原因很简单吧,你的VB代码问题,只打开不关闭。
就是说,的代码,连着2次打开同一个端口。
所以出错了。
一般一做串口开发时,都只使用一个mscom控件去连接,当然你要保证这个窗体没有2次被NEW过。
vb 串口提示错误
请在Err:一行的上面增加一行:Exit Sub否则程序执行到Err:的时候并不会从这里跳出,因为它并不知道你的Err:标签是只用于错误处理的。
串口大师可以读取串口数据,但是vb的mscom提示实时错误,读取comm失败
读取comm失败,要么comm口不存在,或者是不对应
先看看通信是否连接正常,其次看一下程序的端口号和电脑的端口号是否一致
比如VB的程序是comm1的话,电脑的串口号应该也选择comm1.
VB串口通讯出错,请高手指教
建议查看USB转串口的驱动,USB转串口很多时候兼容性并不太好,你如果使用PCI转串口的肯定没有问题。
怎样在vb中自动检测到可用串口号的具体程序代码
j = 0 For i = 1 To 16 Step 1 If comISP.PortOpen = True Then '先关闭串口 comISP.PortOpen = False End If comISP.CommPort = i On Error Resume Next '说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运行。
访问对象时要使用这种形式而不使用 On Error GoTo。
comISP.PortOpen = True If Err.Number <> 8002 Then '无效的串口号。
这样可以检测到虚拟串口,如果用Err.Number = 0的话检测不到虚拟串口 If j = 0 Then j = i End If cboPort.AddItem COM & i '生成串口选择列表 End If comISP.PortOpen = False Next i If j >= 1 Then cboPort.Text = COM & j '自动打开可用的最小串口号 comISP.CommPort = j comISP.PortOpen = True cmdOpenCom.Caption = 关闭串口 shpCOM.FillColor = vbGreen If Err.Number = 8005 Then '串口已打开,vbExclamation ' comISP.PortOpen = False cboPort.Text = cmdOpenCom.Caption = 打开串口 shpCOM.FillColor = vbRed End If End If
vb串口 出错
1楼指明的正确,LZ的代码存在明显错误,现修改LZ的代码:Option Explicit Dim sj(2) As String Dim sum As IntegerPrivate Sub Command1_Click() If MSComm1.PortOpen = True Then MSComm1.Output = key;utility MSComm1.Output = key:ref MSComm1.Output = KEY;display Print MSComm1.OutBufferCount End IfEnd SubPrivate Sub Command2_Click() If MSComm1.PortOpen = True Then Text2.Text = MSComm1.Input End IfEnd SubPrivate Sub Command3_Click() If Combo_RS232.Text = COM1 Then MSComm1.CommPort = 1 ElseIf Combo_RS232.Text = COM2 Then MSComm1.CommPort = 2 ElseIf Combo_RS232.Text = COM3 Then MSComm1.CommPort = 3 End If If Combo_Baudrate.Text = 9600 Then MSComm1.Settings = 9600,n,8,1 ElseIf Combo_Baudrate.Text = 300 Then MSComm1.Settings = 300,n,8,1 ElseIf Combo_Baudrate.Text = 2400 Then MSComm1.Settings = 2400,n,8,1 ElseIf Combo_Baudrate.Text = 4800 Then MSComm1.Settings = 4800,n,8,1 ElseIf Combo_Baudrate.Text = 19200 Then MSComm1.Settings = 19200,n,8,1 ElseIf MSComm1.Settings = 38400,n,8,1 Then MSComm1.Settings = 38400,n,8,1 End If If MSComm1.PortOpen = False Then MSComm1.PortOpen = True End IfEnd SubPrivate Sub Form_Load() With Combo_RS232 .AddItem COM1, 0 .AddItem COM2 .AddItem COM3 .AddItem COM4 End With With Combo_Baudrate .AddItem 300 .AddItem 2400 .AddItem 4800 .AddItem 9600 .AddItem 19200 .AddItem 38400 End WithEnd Sub



