欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

vb.net訪問(wèn)串口,vbnet串口通信如何編寫(xiě)

vb.net怎么實(shí)現(xiàn)串口傳輸文件

Imports System

泉州網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司公司2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。

Imports System.IO.Ports

Public Class Form1

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

'獲取計(jì)算機(jī)有效串口

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

Dim port As String

For Each port In ports

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

Next port

'初始化界面

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

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

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

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

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

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

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

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

vb.net2010十六進(jìn)制讀取串口的問(wè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里沒(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

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

可以將Form1里的串口公開(kāi),然后在Form2里添加對(duì)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)

{

在這里進(jìn)行處理就可以了;

}

這個(gè)是C#的,VB的你自己轉(zhuǎn)一下

網(wǎng)頁(yè)題目:vb.net訪問(wèn)串口,vbnet串口通信如何編寫(xiě)
URL網(wǎng)址:http://chinadenli.net/article4/hddjoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、標(biāo)簽優(yōu)化、企業(yè)網(wǎng)站制作、App設(shè)計(jì)、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(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)

成都app開(kāi)發(fā)公司