成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

vb.net調(diào)用串口 vb接受串口數(shù)據(jù)

VB與VB.NET串口及以太網(wǎng)通迅

關(guān)于串口通訊的問題:

創(chuàng)新互聯(lián)公司專注于都勻網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供都勻營銷型網(wǎng)站建設(shè),都勻網(wǎng)站制作、都勻網(wǎng)頁設(shè)計(jì)、都勻網(wǎng)站官網(wǎng)定制、微信平臺(tái)小程序開發(fā)服務(wù),打造都勻網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供都勻網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

很明顯,你還不知道(不會(huì)、不習(xí)慣)使用事件驅(qū)動(dòng)的方式接收數(shù)據(jù)。

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

關(guān)于以太網(wǎng)通訊:

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

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

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

VB.NET使用AxMSComm實(shí)現(xiàn)串口通信的發(fā)送讀取問題?

上面的代碼看不出問題,如果初始化串口控件時(shí)已經(jīng)注冊了AxMSComm1_OnComm,有數(shù)據(jù)接收應(yīng)該能觸發(fā),至于為什么沒有觸發(fā),要看看你的接收方是否已經(jīng)收到你的發(fā)出指令,是否已經(jīng)有響應(yīng)數(shù)據(jù)回發(fā)。

建議分開調(diào)試,用一個(gè)通用的串口助手,如格西烽火串口助手之類的,分別調(diào)試你的上位機(jī)和下位機(jī)。格西烽火串口助手能輕松的定制如你上面的發(fā)送數(shù)據(jù)。

vb.net2010十六進(jìn)制讀取串口的問題

不是很明白你的題意

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

這里的意思是把每個(gè)字節(jié)數(shù)據(jù)轉(zhuǎn)換成了十六進(jìn)制,每個(gè)字節(jié)占兩個(gè)字符

如果你串口收到的4個(gè)字節(jié)數(shù)據(jù):43,27,56,200

那么你的結(jié)果是:2B1B38C8

即receivebytes.Text="2B1B38C8"

不足兩位的補(bǔ)0

如果你串口收到的4個(gè)字節(jié)數(shù)據(jù):3,27,56,200

那么你的結(jié)果是:031B38C8

即receivebytes.Text="031B38C8"

vb.net 怎么用事件觸發(fā)的方式讀取串口數(shù)據(jù)

首先:

textbox里沒有顯示,是因?yàn)镾erialPort1和TextBox2不是同一線程創(chuàng)建的,需要跨線程操作。需要用到委托,這樣才能顯示出來。

其次:

我覺得用串口的接收數(shù)據(jù)事件更好一些。

下面代碼供參考:

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

'串口接收數(shù)據(jù)事件,其實(shí)比用定時(shí)器更好,

'觸發(fā)事件的條件可以自己在form_load中設(shè)置ReceivedBytesThreshold屬性數(shù)值,默認(rèn)為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) '顯示結(jié)果

Me.TextBox1.Text = "結(jié)果:" 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

當(dāng)前題目:vb.net調(diào)用串口 vb接受串口數(shù)據(jù)
轉(zhuǎn)載注明:http://jinyejixie.com/article22/ddojocc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站網(wǎng)站設(shè)計(jì)公司、移動(dòng)網(wǎng)站建設(shè)、微信小程序、用戶體驗(yàn)、企業(yè)網(wǎng)站制作

廣告

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

成都seo排名網(wǎng)站優(yōu)化
绥江县| 璧山县| 运城市| 长丰县| 綦江县| 邵阳市| 贡觉县| 丘北县| 新乡市| 讷河市| 西藏| 永胜县| 济南市| 连云港市| 谷城县| 右玉县| 吉首市| 罗源县| 靖远县| 永城市| 合作市| 淮北市| 余江县| 珠海市| 安乡县| 江川县| 迭部县| 汽车| 南通市| 新营市| 台中县| 文登市| 东阿县| 偃师市| 明水县| 牡丹江市| 湘潭市| 双峰县| 汪清县| 昭苏县| 礼泉县|