步驟1:創建一個新的VisualStudio項目。
選擇 新項目。.. 》》 Visual Basic 》 Windows窗體應用程序。
鍵入一些名稱,然后單擊 確定。
》
步驟2:調整表單大小。
抓住一個角并調整大小,例如,在圖片里。
步驟3:更改背景色。
要使所有內容美觀,請在屬性中菜單,將 BackColor 更改為 Window 。
步驟4:添加4個組件。
添加:
1x GroupBox
1x ComboBox
2x按鈕
在這些組件中鍵入任何名稱和文本,但是在編程時請小心!
步驟5:添加SerialPort-Module
在工具窗口中,添加一個名為 SerialPort 的組件。
步驟6:雙擊表單。
您將看到,將打開一個新選項卡。
第7步:添加一些代碼。
將以下代碼添加到項目中像上面的圖片一樣。
For Each AvailableSerialPorts As String In SerialPort1.GetPortNames()
ComboBox_AvailableSerialPorts.Items.Add(AvailableSerialPorts)
SerialPort1.ReadTimeout = 2000
Button_Connect.Visible = True
Button_Disconnect.Visible = False
Next
請確保將其放入我們通過雙擊窗體創建的Private Sub-Loop中。
確保為組件選擇正確的名稱。
步驟8:雙擊連接按鈕
雙擊在連接按鈕上。您會看到,您將在代碼中添加一個新的 Private Sub -循環。
在上圖中,我們添加的每個新代碼都將標記為藍色。
第9步:添加兩行代碼。
在您的 Private Sub 中添加以下兩行代碼-您的 Connect -Button循環。
SerialPort1.BaudRate = “9600”
SerialPort1.PortName = ComboBox_AvailableSerialPorts.SelectedItem
并且像往常一樣,不要忘記為組件選擇正確的名稱。
步驟10:添加另一行代碼。
在表單的Private Sub-Loop內,添加以下代碼:
ComboBox_AvailableSerialPorts.Text = AvailableSerialPorts
這可以防止用戶在未選擇端口的情況下連接到串行端口。它總是選擇最后一個可用的串行端口,但是當我們完成操作后,您將在以后看到它。
步驟11:添加2行。
為連接-按鈕指示您專用子,添加以下代碼行:
Button_Connect.Visible = False
Button_Disconnect.Visible = True
第12步:添加IF語句。
在您的私有子內部-再次循環顯示連接按鈕 》,添加 if語句。
If SerialPort1.IsOpen = False Then
SerialPort1.Open()
End If
此語句將打開串行端口。但是,僅當尚未連接時。
步驟13:雙擊“斷開連接”按鈕。
VisualBasic將自動添加這些新的代碼行。
第14步:設置“斷開連接”按鈕。
在您的私人子區域-為 Disconnect-Button 循環,添加以下代碼:
If SerialPort1.IsOpen = True Then
SerialPort1.Close()
End If
Button_Connect.Visible = True
Button_Disconnect.Visible = False
這只會關閉SerialPort(如果已打開)。
此外,它啟用了“連接按鈕”并再次禁用了“斷開按鈕”,以便您可以再次連接到另一個或相同的串行端口。
第15步:添加文本框。
添加文本框,然后在屬性菜單下,更改多行更改為 True 。
步驟16:添加計時器
工具-菜單,添加一個名為 Timer 的模塊。
步驟17:更改計時器間隔。
在屬性》》間隔下,將間隔更改為 100 ,因此它每100毫秒滴答一次。
步驟18:添加另一行代碼。
讓我們進入 Private Sub (內部)-為您的 Form循環,并添加一行代碼:
TextBox_ReceivedMessage.ScrollBars = ScrollBars.Vertical
在這一行中,我們向您的TextBox添加了一個滾動條,以便您查看全部
步驟19:啟用和禁用計時器
在私有下Sub -循環顯示 Connect -按鈕,啟用計時器:
Timer1.Enabled = True
并在 Private Sub 下-循環對于斷開連接-按鈕,禁用計時器:
Timer1.Enabled = False
步驟20:雙擊計時器并添加一些代碼。
雙擊 計時器,并將以下代碼添加到您的私人子中-循環計時器:
If SerialPort1.IsOpen = True Then
Dim ReceivedMessage As String
ReceivedMessage = SerialPort1.ReadLine
TextBox_ReceivedMessage.Text = TextBox_ReceivedMessage.Text + ReceivedMessage + Environment.NewLine
TextBox_ReceivedMessage.SelectionStart = TextBox_ReceivedMessage.Length
TextBox_ReceivedMessage.ScrollToCaret()
End If
首先,我們檢查SerialPort是否打開。如果是這樣,我們將創建一個名為ReceivedMessage的新字符串,其中包含來自串行端口的消息。
然后,將文本添加到TextBox。來自TextBox的舊文本應保留在此處,添加來自String的內容,并將創建新行。
最后,TextBox將自動滾動最新的輸入,因此我們將始終
步驟21:打開您的杰作。
打開在VisualStudio的右上角,單擊開始 [或綠色的播放按鈕] 以啟動程序。
但是請不要
步驟22:給串行設備做點事情。
我使用Arduino UNO。
像上面的圖片一樣對它進行編程。
我在codebender.cc中做到了,但是您也可以在Arduino IDE或任何其他IDE中做到這一點。
!! 小心!請勿將延遲更改為大于100毫秒的任何數字。如果這樣做,則必須在中更改計時器的 Interval 當然,VisualStudio !
但是,在Arduino內部,您可以鍵入任何小于100的數字,而無需更改VisualStudio中的間隔。
表示: Visual Studio中的計時器的時間間隔不得低于Arduino的延遲。但是允許更高。
而且:除以下端口外,請勿連接到任何其他串行端口到您的Arduino,或完全刪除或取消計時器的私有子。但是,如果這樣做,您將無法再接收任何SerialData。
因為如果SerialPort-Module無法從SerialPort讀取任何數據,則程序將進入運行時異常。
p》
如果這樣做,只需關閉程序,然后再次打開它,然后連接到正確的串行端口。
當然,如果愿意,可以防止此錯誤(例如
幾天后,我將為VisualStudio和Arduino之間的高級串行通信創建另一個教程。
第23步:繼續并測試您的程序。
對其進行測試,并在必要時添加一些代碼行或刪除一些代碼
責任編輯:wv
-
軟件
+關注
關注
69文章
4921瀏覽量
87403 -
VisualBasic
+關注
關注
0文章
6瀏覽量
6701
發布評論請先 登錄
相關推薦
評論