日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
vb.net訪問串口,net 串口

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

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

創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站建設、網(wǎng)站重做改版、安圖網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、H5網(wǎng)站設計、商城網(wǎng)站開發(fā)、集團公司官網(wǎng)建設、成都外貿網(wǎng)站建設公司、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為安圖等各大城市提供網(wǎng)站開發(fā)制作服務。

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

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

關于串口通訊的問題:

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

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

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

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

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

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

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

首先:

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

其次:

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

下面代碼供參考:

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

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

'觸發(fā)事件的條件可以自己在form_load中設置ReceivedBytesThreshold屬性數(shù)值,默認為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接收大量串口數(shù)據(jù)時,界面卡頓

上位機軟件接收大量數(shù)據(jù)并顯示,會造成界面卡頓,可采用雙緩沖技術,即將數(shù)據(jù)存到內存,再將其繪制到界面,比將數(shù)據(jù)直接繪制到界面要省很多時間

添加在子進程里面,就加在你批量傳輸代碼里的每一個傳輸后面,也就是大批量中的每傳輸一個數(shù)據(jù)就暫停一下,而不是每一個大批量才暫停一下。

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

不是很明白你的題意

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

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

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

那么你的結果是:2B1B38C8

即receivebytes.Text="2B1B38C8"

不足兩位的補0

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

那么你的結果是:031B38C8

即receivebytes.Text="031B38C8"


本文題目:vb.net訪問串口,net 串口
網(wǎng)站網(wǎng)址:http://www.dlmjj.cn/article/dsgigod.html