不知道你是不是用51單片機(jī)往串口發(fā)數(shù)據(jù),是的話那是因?yàn)?1的SBUF最多存放8個(gè)字節(jié),所以你發(fā)12個(gè)字節(jié)會(huì)分成兩次發(fā)完。還有在接收的時(shí)候最好定義好通信協(xié)議,比如加一個(gè)偵頭,一個(gè)偵尾,通過(guò)這兩個(gè)字節(jié)的內(nèi)容來(lái)接收數(shù)據(jù)。

昭平ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書(shū)合作)期待與您的合作!
老兄,提問(wèn)還是給點(diǎn)懸賞分嘛,不要吝嗇哪點(diǎn)分,知識(shí)是無(wú)價(jià)的,你給得越多,回答你的人才會(huì)越多。
不是很明白你的題意
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"
首先:
textbox里沒(méi)有顯示,是因?yàn)镾erialPort1和TextBox2不是同一線程創(chuàng)建的,需要跨線程操作。需要用到委托,這樣才能顯示出來(lái)。
其次:
我覺(jué)得用串口的接收數(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
新聞標(biāo)題:vb.net取得的串口,vb串口通信
當(dāng)前網(wǎng)址:http://chinadenli.net/article25/dsiosci.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、域名注冊(cè)、面包屑導(dǎo)航、小程序開(kāi)發(fā)、商城網(wǎng)站、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)