vb.net訪問串口,vbnet串口通信如何編寫

vb.net怎么實現串口傳輸文件

Imports System

泉州網站制作公司哪家好,找創新互聯公司!從網頁設計、網站建設、微信開發、APP開發、響應式網站設計等網站項目制作,到程序開發,運營維護。創新互聯公司公司2013年成立到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創新互聯公司

Imports System.IO.Ports

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'獲取計算機有效串口

Dim ports As String() = SerialPort.GetPortNames() '必須用命名空間,用SerialPort,獲取計算機的有效串口

Dim port As String

For Each port In ports

portnamebox.Items.Add(port) '向combobox中添加項

Next port

'初始化界面

VB與VB.NET串口及以太網通迅

關于串口通訊的問題:

很明顯,你還不知道(不會、不習慣)使用事件驅動的方式接收數據。

建議你仔細看看串口組件(無論VB6還是VB.net)的OnComm事件,你的問題很容易解決。

關于以太網通訊:

在TCP通訊中端口確實可以重用,你百度一下“TCP端口重用”能查到很多示例。

但絕大多數情況下不推薦端口重用,而應該采取服務器端建立連接池的方法。

或者,干脆不用TCP,用UDP解決也可以。

vb.net2010十六進制讀取串口的問題

不是很明白你的題意

strHex = strHex + [String].Format("{0:X2} "

這里的意思是把每個字節數據轉換成了十六進制,每個字節占兩個字符

如果你串口收到的4個字節數據:43,27,56,200

那么你的結果是:2B1B38C8

即receivebytes.Text="2B1B38C8"

不足兩位的補0

如果你串口收到的4個字節數據:3,27,56,200

那么你的結果是:031B38C8

即receivebytes.Text="031B38C8"

vb.net 怎么用事件觸發的方式讀取串口數據

首先:

textbox里沒有顯示,是因為SerialPort1和TextBox2不是同一線程創建的,需要跨線程操作。需要用到委托,這樣才能顯示出來。

其次:

我覺得用串口的接收數據事件更好一些。

下面代碼供參考:

'----------------------

'串口接收數據事件,其實比用定時器更好,

'觸發事件的條件可以自己在form_load中設置ReceivedBytesThreshold屬性數值,默認為ReceivedBytesThreshold=1

Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived

Dim strRecvData As String = ""

strRecvData = SerialPort1.ReadExisting

Call disPlayComData(strRecvData)

End Sub

Delegate Sub callback(ByVal strT As String) '定義委托

Sub showString(ByVal comdata As String) '顯示結果

Me.TextBox1.Text = "結果:" comdata

End Sub

Sub disPlayComData(ByVal strTmp As String) '判定是否為跨線程

If Me.TextBox1.InvokeRequired Then

Dim d As New callback(AddressOf showString)

Me.Invoke(d, New Object() {strTmp})

Else

Me.TextBox1.Text = strTmp

End If

End Sub

vb.net如何在串口接收事件中訪問并修改另一個窗體的控件?

可以將Form1里的串口公開,然后在Form2里添加對DataReceived事件的處理

Form1.Designer.cs中將

private System.IO.Ports.SerialPort port;改為

publice System.IO.Ports.SerialPort port;

然后在Form2里加上

Form1.port.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(port_DataReceived);

最后在

void port_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)

{

在這里進行處理就可以了;

}

這個是C#的,VB的你自己轉一下

網頁題目:vb.net訪問串口,vbnet串口通信如何編寫
URL網址:http://m.kartarina.com/article4/hddjoe.html

成都網站建設公司_創新互聯,為您提供做網站標簽優化企業網站制作App設計關鍵詞優化品牌網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都app開發公司
主站蜘蛛池模板: 激情无码人妻又粗又大中国人| 亚洲一本到无码av中文字幕| 久久亚洲AV成人无码国产| 日韩精品真人荷官无码| 日韩精品无码熟人妻视频| 全免费a级毛片免费看无码| 亚洲成AV人片在线播放无码| 色综合色国产热无码一| 无码精品一区二区三区免费视频| 成人免费无码大片A毛片抽搐| 亚洲V无码一区二区三区四区观看| 亚洲人av高清无码| 亚洲中文字幕无码日韩| 日韩免费a级毛片无码a∨| 小SAO货水好多真紧H无码视频| 久久久久无码精品国产h动漫| 亚洲日韩精品无码专区网址 | 日韩AV无码中文无码不卡电影| 无码日韩人妻AV一区二区三区| 人妻丰满熟妇AV无码片| 伊人久久无码中文字幕| 无码国模国产在线无码精品国产自在久国产 | 亚洲av永久无码嘿嘿嘿| 最新中文字幕AV无码不卡 | 无码专区天天躁天天躁在线| 国产精品亚洲专区无码牛牛| 亚洲V无码一区二区三区四区观看| 乱人伦人妻中文字幕无码久久网| 无码人妻丰满熟妇区BBBBXXXX| 人妻中文字系列无码专区| 亚洲AV无码成人精品区在线观看 | 久久精品国产亚洲AV无码娇色| 中文字幕无码免费久久| AV无码精品一区二区三区宅噜噜 | 亚洲中文字幕无码一区| 亚洲午夜国产精品无码老牛影视 | 亚洲色无码一区二区三区| 中文字幕av无码专区第一页| 亚洲国产精品无码久久久蜜芽| 超清无码一区二区三区| 中文字字幕在线中文无码 |