VB.net选择串口System.IO.IOException

时间:2015-05-01 14:24:52

标签: vb.net serial-port arduino

我正在尝试编辑我发现的开源代码,那里有很多错误,无论如何我解决了所有问题,但我仍然有这个: 我把一个组合下拉菜单选择在串口之间与arduino进行通信,但是如果我选择了其他端口,似乎总是选择COM5。 这是我按下开始按钮进行通信时出现的错误

An unhandled exception of type 'System.IO.IOException' occurred in System.dll
Additional information: The port 'COM5' does not exist.

这是组合下拉菜单代码

Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) 
                                              Handles ComboBox1.SelectedIndexChanged
End Sub

和开始按钮的代码

 Private Sub Button7_Click(sender As System.Object, e As System.EventArgs) 
                                                              Handles Button7.Click
        SerialPort1.Open()
        SerialPort1.Write("~")
        SerialPort1.Write("LCD is working!")
        Timer2.Start()
        SerialPort1.Close()
 End Sub

1 个答案:

答案 0 :(得分:0)

  

但是如果我选择其他端口,似乎总是程序选择了COM5。这是我按下开始按钮进行通信时出现的错误

此代码

Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
End Sub

旨在获取用户选择的组合框索引,并设置他们选择的串行端口。但是,该处理程序的主体是空的,因此实际上并没有做任何事情。

代码

Private Sub Button7_Click(sender As System.Object, e As System.EventArgs) Handles Button7.Click
        SerialPort1.Open()

可能是异常被抛出的地方。您没有在显示的代码中的任何位置更改SerialPort1的设置。据推测,您应该向ComboBox1_SelectedIndexChanged添加一些代码以更新SerialPort1的属性以反映用户选择的COM端口。