0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在Visual Studio 2015中使用VisualBasic作為主要編程語(yǔ)言來(lái)管理串行連接

454398 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-18 11:31 ? 次閱讀

步驟1:創(chuàng)建一個(gè)新的VisualStudio項(xiàng)目。

如何在Visual Studio 2015中使用VisualBasic作為主要編程語(yǔ)言來(lái)管理串行連接

選擇 新項(xiàng)目。.. 》》 Visual Basic 》 Windows窗體應(yīng)用程序。

鍵入一些名稱,然后單擊 確定。

步驟2:調(diào)整表單大小。

抓住一個(gè)角并調(diào)整大小,例如,在圖片里。

步驟3:更改背景色。

要使所有內(nèi)容美觀,請(qǐng)?jiān)趯傩灾胁藛?,?BackColor 更改為 Window 。

步驟4:添加4個(gè)組件。

添加:

1x GroupBox

1x ComboBox

2x按鈕

在這些組件中鍵入任何名稱和文本,但是在編程時(shí)請(qǐng)小心!

步驟5:添加SerialPort-Module

在工具窗口中,添加一個(gè)名為 SerialPort 的組件。

步驟6:雙擊表單。

您將看到,將打開(kāi)一個(gè)新選項(xiàng)卡。

第7步:添加一些代碼。

將以下代碼添加到項(xiàng)目中像上面的圖片一樣。

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

請(qǐng)確保將其放入我們通過(guò)雙擊窗體創(chuàng)建的Private Sub-Loop中。

確保為組件選擇正確的名稱。

步驟8:雙擊連接按鈕

雙擊在連接按鈕上。您會(huì)看到,您將在代碼中添加一個(gè)新的 Private Sub -循環(huán)。

在上圖中,我們添加的每個(gè)新代碼都將標(biāo)記為藍(lán)色。

第9步:添加兩行代碼。

在您的 Private Sub 中添加以下兩行代碼-您的 Connect -Button循環(huán)。

SerialPort1.BaudRate = “9600”

SerialPort1.PortName = ComboBox_AvailableSerialPorts.SelectedItem

并且像往常一樣,不要忘記為組件選擇正確的名稱。

步驟10:添加另一行代碼。

在表單的Private Sub-Loop內(nèi),添加以下代碼:

ComboBox_AvailableSerialPorts.Text = AvailableSerialPorts

這可以防止用戶在未選擇端口的情況下連接到串行端口。它總是選擇最后一個(gè)可用的串行端口,但是當(dāng)我們完成操作后,您將在以后看到它。

步驟11:添加2行。

為連接-按鈕指示您專用子,添加以下代碼行:

Button_Connect.Visible = False

Button_Disconnect.Visible = True

第12步:添加IF語(yǔ)句。

在您的私有子內(nèi)部-再次循環(huán)顯示連接按鈕 》,添加 if語(yǔ)句。

If SerialPort1.IsOpen = False Then

SerialPort1.Open()

End If

此語(yǔ)句將打開(kāi)串行端口。但是,僅當(dāng)尚未連接時(shí)。

步驟13:雙擊“斷開(kāi)連接”按鈕。

VisualBasic將自動(dòng)添加這些新的代碼行。

第14步:設(shè)置“斷開(kāi)連接”按鈕。

在您的私人子區(qū)域-為 Disconnect-Button 循環(huán),添加以下代碼:

If SerialPort1.IsOpen = True Then

SerialPort1.Close()

End If

Button_Connect.Visible = True

Button_Disconnect.Visible = False

這只會(huì)關(guān)閉SerialPort(如果已打開(kāi))。

此外,它啟用了“連接按鈕”并再次禁用了“斷開(kāi)按鈕”,以便您可以再次連接到另一個(gè)或相同的串行端口。

第15步:添加文本框。

添加文本框,然后在屬性菜單下,更改多行更改為 True 。

步驟16:添加計(jì)時(shí)器

工具-菜單,添加一個(gè)名為 Timer 的模塊。

步驟17:更改計(jì)時(shí)器間隔。

在屬性》》間隔下,將間隔更改為 100 ,因此它每100毫秒滴答一次。

步驟18:添加另一行代碼。

讓我們進(jìn)入 Private Sub (內(nèi)部)-為您的 Form循環(huán),并添加一行代碼:

TextBox_ReceivedMessage.ScrollBars = ScrollBars.Vertical

在這一行中,我們向您的TextBox添加了一個(gè)滾動(dòng)條,以便您查看全部

步驟19:?jiǎn)⒂煤徒糜?jì)時(shí)器

在私有下Sub -循環(huán)顯示 Connect -按鈕,啟用計(jì)時(shí)器:

Timer1.Enabled = True

并在 Private Sub 下-循環(huán)對(duì)于斷開(kāi)連接-按鈕,禁用計(jì)時(shí)器:

Timer1.Enabled = False

步驟20:雙擊計(jì)時(shí)器并添加一些代碼。

雙擊 計(jì)時(shí)器,并將以下代碼添加到您的私人子中-循環(huán)計(jì)時(shí)器:

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是否打開(kāi)。如果是這樣,我們將創(chuàng)建一個(gè)名為ReceivedMessage的新字符串,其中包含來(lái)自串行端口的消息。

然后,將文本添加到TextBox。來(lái)自TextBox的舊文本應(yīng)保留在此處,添加來(lái)自String的內(nèi)容,并將創(chuàng)建新行。

最后,TextBox將自動(dòng)滾動(dòng)最新的輸入,因此我們將始終

步驟21:打開(kāi)您的杰作。

打開(kāi)在VisualStudio的右上角,單擊開(kāi)始 [或綠色的播放按鈕] 以啟動(dòng)程序。

但是請(qǐng)不要

步驟22:給串行設(shè)備做點(diǎn)事情。

我使用Arduino UNO。

像上面的圖片一樣對(duì)它進(jìn)行編程。

我在codebender.cc中做到了,但是您也可以在Arduino IDE或任何其他IDE中做到這一點(diǎn)。

!! 小心!請(qǐng)勿將延遲更改為大于100毫秒的任何數(shù)字。如果這樣做,則必須在中更改計(jì)時(shí)器的 Interval 當(dāng)然,VisualStudio !

但是,在Arduino內(nèi)部,您可以鍵入任何小于100的數(shù)字,而無(wú)需更改VisualStudio中的間隔。

表示: Visual Studio中的計(jì)時(shí)器的時(shí)間間隔不得低于Arduino的延遲。但是允許更高。

而且:除以下端口外,請(qǐng)勿連接到任何其他串行端口到您的Arduino,或完全刪除或取消計(jì)時(shí)器的私有子。但是,如果這樣做,您將無(wú)法再接收任何SerialData。

因?yàn)槿绻鸖erialPort-Module無(wú)法從SerialPort讀取任何數(shù)據(jù),則程序?qū)⑦M(jìn)入運(yùn)行時(shí)異常。

p》

如果這樣做,只需關(guān)閉程序,然后再次打開(kāi)它,然后連接到正確的串行端口。

當(dāng)然,如果愿意,可以防止此錯(cuò)誤(例如

幾天后,我將為VisualStudio和Arduino之間的高級(jí)串行通信創(chuàng)建另一個(gè)教程

第23步:繼續(xù)并測(cè)試您的程序。

對(duì)其進(jìn)行測(cè)試,并在必要時(shí)添加一些代碼行或刪除一些代碼

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    4999

    瀏覽量

    87890
  • VisualBasic
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    6719
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    瑞薩e2 studioReality AI組件的使用方法

    本實(shí)驗(yàn)將為您介紹如何在e2 studio中使用Reality AI相關(guān)組件來(lái)進(jìn)行AI開(kāi)發(fā),主要涉及如何使用Reality AI Data s
    的頭像 發(fā)表于 01-21 13:48 ?63次閱讀
    瑞薩e2 <b class='flag-5'>studio</b><b class='flag-5'>中</b>Reality AI組件的使用方法

    何在Windows中使用MTP協(xié)議

    在Windows操作系統(tǒng)中使用MTP(Media Transfer Protocol)協(xié)議主要涉及到與移動(dòng)設(shè)備(如智能手機(jī)、平板電腦等)的連接和數(shù)據(jù)傳輸。MTP是一種用于交換媒體文件(如音樂(lè)、視頻
    的頭像 發(fā)表于 01-03 10:26 ?245次閱讀

    Vector推出一套基于Visual Studio Code的免費(fèi)插件

    在汽車軟件開(kāi)發(fā)過(guò)程,除使用MATLAB開(kāi)發(fā)算法外,專業(yè)開(kāi)發(fā)者也偏向使用Visual Studio Code來(lái)開(kāi)發(fā)代碼,其中軟件測(cè)試用例的編寫(xiě)是確保系統(tǒng)穩(wěn)定性和可靠性的重要環(huán)節(jié)。傳統(tǒng)的
    的頭像 發(fā)表于 11-24 14:15 ?549次閱讀
    Vector推出一套基于<b class='flag-5'>Visual</b> <b class='flag-5'>Studio</b> Code的免費(fèi)插件

    plc的編程語(yǔ)言主要有哪三種

    PLC(可編程邏輯控制器)的編程語(yǔ)言多種多樣,但其中最為常用和廣泛認(rèn)知的三種主要編程語(yǔ)言是梯形圖
    的頭像 發(fā)表于 10-21 17:04 ?2045次閱讀

    plc編程語(yǔ)言編程相關(guān)技巧有哪些

    PLC(可編程邏輯控制器)編程語(yǔ)言及相關(guān)編程技巧是工業(yè)自動(dòng)化領(lǐng)域中不可或缺的知識(shí)。 一、PLC編程語(yǔ)言
    的頭像 發(fā)表于 10-21 16:56 ?409次閱讀

    求助,請(qǐng)問(wèn)如何在RTOS SDK 1.5的PlatformIO IDE ESP8266實(shí)現(xiàn)MQTT?

    is not supported by PlatformIO IDE in Visual Studio Code) 現(xiàn)在,我的ESP8266已成功連接到移動(dòng)熱點(diǎn)作為工作站模式。但是
    發(fā)表于 07-08 06:22

    求助,用visual studio 2017開(kāi)發(fā)esp32的問(wèn)題求解

    各位好,esp32開(kāi)發(fā)我這邊用的是visual studio 2017+visual的形式,我在打開(kāi)工程樣例文件后,編譯通過(guò)并成功燒錄,但是右擊“source Files”文件夾想添加一個(gè)C文件
    發(fā)表于 06-25 07:07

    請(qǐng)問(wèn)cmakelists的變量如何在程序中使用?

    大家好, 我有個(gè)問(wèn)題請(qǐng)教,cmakelists.txt的變量如何在程序中使用?比如以下cmakelists.txt文件的PROJECT_VER變量,我如
    發(fā)表于 06-11 07:34

    何在沒(méi)有安裝visual studio或EZ-USB FX3 SDK的win10電腦上使用FwDownloadApp.exe?

    ~2022 版 VC_redist.x64.exe) 然而,問(wèn)題依然存在。 有什么好辦法嗎? 如果沒(méi)有辦法,請(qǐng)向我解釋如何在 Visual Studio 重建該項(xiàng)目并將 msvc
    發(fā)表于 05-30 08:31

    STM32CubeMX如何在*.c源文件中使用c++特性?

    開(kāi)發(fā)環(huán)境:Visual Studio 2015 + VisualGDB (編譯器為arm-eabi GCC 7.2.0)+ STM32CubeMX c與c++混合編程情況下,*.c文件
    發(fā)表于 04-25 06:15

    用Cubeprogrammer的API串口,Visual Studio環(huán)境設(shè)置按說(shuō)明書(shū)配置的,編譯有錯(cuò)誤的原因?

    用Cubeprogrammer的API 串口,Visual Studio環(huán)境設(shè)置按說(shuō)明書(shū)配置的,編譯還是有錯(cuò)誤,有知道問(wèn)題的嗎?
    發(fā)表于 03-29 08:46

    fpga用的是什么編程語(yǔ)言 fpga用什么語(yǔ)言開(kāi)發(fā)

    fpga用的是什么編程語(yǔ)言 FPGA(現(xiàn)場(chǎng)可編程邏輯門陣列)主要使用的編程語(yǔ)言是硬件描述
    的頭像 發(fā)表于 03-14 17:09 ?3591次閱讀

    何在測(cè)試中使用ChatGPT

    Dimitar Panayotov 在 2023 年 QA Challenge Accepted 大會(huì) 上分享了他如何在測(cè)試中使用 ChatGPT。
    的頭像 發(fā)表于 02-20 13:57 ?791次閱讀

    Simplicity Studio 5擴(kuò)增功能支持以VS Code開(kāi)發(fā)

    應(yīng)用程序開(kāi)發(fā)的支持。此一功能擴(kuò)展可讓開(kāi)發(fā)人員在VSCode生態(tài)系統(tǒng)構(gòu)建、刷新和調(diào)試。用戶可以使用VS Code作為主要的IDE,同時(shí)仍然能夠使用熟悉和喜愛(ài)的項(xiàng)目配置圖形界面。在Simplicity Studio
    的頭像 發(fā)表于 01-29 10:34 ?1063次閱讀
    Simplicity <b class='flag-5'>Studio</b> 5擴(kuò)增功能支持以VS Code開(kāi)發(fā)

    BT Wi-Fi模式是否可以通過(guò)ModustoolBox對(duì)套件進(jìn)行編程來(lái)實(shí)現(xiàn)?

    嘗試在 ModustoolBox 中使用示例項(xiàng)目對(duì)套件進(jìn)行編程時(shí),我遇到了問(wèn)題,因?yàn)?&quot; 錯(cuò)誤:找不到匹配的 CMSIS-DAP 設(shè)備 &quot;。 BT Wi-Fi 模式是否可以通過(guò) ModustoolBox 對(duì)套件進(jìn)行
    發(fā)表于 01-22 06:19