三步了解VB.NET串口通訊如何發(fā)送接收數(shù)據(jù)
學(xué)習(xí)VB.NET時,你可能會遇到VB.NET串口通訊問題,這里將介紹VB.NET串口通訊問題的解決方法,在這里拿出來和大家分享一下。VB.NET串口通訊支持總是讓人覺得有所不足,在使用VB6的MsComm32.ocx時,很多人都會在VB.NET的開發(fā)中覺得很困擾。這里講述的VB.NET串口通訊類使用native代碼,并且它是通API調(diào)用實(shí)現(xiàn)的,你會發(fā)現(xiàn)VB.NET串口通訊就是這么簡單。
在說明如何使用這個類前,需要說明的是,本類只是一個VB.NET串口通訊演示,你可能需要根據(jù)你的情況修改后使用。另外,本類的目的是通過例子教會你在無需ocx控件和第三方組件的支持下用VB.NET開發(fā)串口通訊程序,所有并沒有完善的異常錯誤處理。
1.初始化并打開串口
創(chuàng)建一個CRs232類的實(shí)例,并在調(diào)用Open方法前設(shè)置好串口通訊參數(shù)。
- Dim moRS232 as New Rs232()
- With moRs232
- .Port = 1'//Uses COM1
- .BaudRate = 2400
- '//波特率 2400
- .DataBit = 8
- '//8 data bits
- .StopBit = Rs232.DataStopBit.StopBit_1
- '//停止位 1
- .Parity = Rs232.DataParity.Parity_None
- '//無奇偶校驗(yàn)
- .Timeout = 500
- '//超時時間500 ms
- End With
- '// 初始化并打開串口
- moRS232.Open ()
- '// 串口打開后,你可以隨意地控制DTR/RTS
- moRS232.Dtr = True
- moRS232.Rts = True
2.發(fā)送數(shù)據(jù)
本類為Rx和Tx準(zhǔn)備了兩個緩沖區(qū)(buffer),發(fā)送數(shù)據(jù)時,只需要設(shè)置TxData屬性為你需要發(fā)送的數(shù)據(jù),然后調(diào)用Tx方法就可以了。
- moRS232.TxData = txtTx.Text
- moRS232.Tx()
3.接收數(shù)據(jù)
先調(diào)用Rx方法(參數(shù)為您需要從串口讀取的字節(jié)數(shù)),然后讀取RxData屬性。
- moRS232.Rx(10)
- '// 從串口通訊緩沖區(qū)里讀取10字節(jié)
- Dim sRead as String=moRs232.RxData
需要注意的是,當(dāng)本類無法用串口讀取到所需的字節(jié)數(shù),程序線程在超時異常發(fā)生前是鎖死的,超時時間通過Timout屬性設(shè)置。
【編輯推薦】