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

vbnet串口實(shí)例的簡(jiǎn)單介紹

VB.NET串口通訊怎么發(fā)送和接收十六進(jìn)制?

串口通信最終都是用二進(jìn)制傳輸?shù)?,你用代碼把二進(jìn)制轉(zhuǎn)化成十六進(jìn)制就可以了。不需要額外設(shè)置。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),勐臘企業(yè)網(wǎng)站建設(shè),勐臘品牌網(wǎng)站建設(shè),網(wǎng)站定制,勐臘網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,勐臘網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

vb串口通信程序?qū)嵗?/h2>

我也是自己摸索開(kāi)發(fā)出來(lái)的每一款VBtoCOM通訊,有具體的思路如下:

給你推薦一個(gè)工具“com串口測(cè)試工具 ComTone V1.0 中文綠色版”

1、打開(kāi)你的噪音計(jì)的測(cè)試軟件,調(diào)整好串口號(hào)、通訊頻率等等,我用溫度計(jì)舉例說(shuō)明。

開(kāi)始查詢后有返回?cái)?shù)值,這個(gè)Receive:就是返回的數(shù)值000304012200004b05,

打開(kāi)串口監(jiān)視精靈,監(jiān)視軟件的com口事件:

這里面的Write是測(cè)試軟件發(fā)出的查詢指令,read是設(shè)備返回的數(shù)據(jù)指令

Private?Sub?Command1_Click()?'發(fā)送指令

If?Not?MSComm1.PortOpen?Then

MSComm1.CommPort?=?7?'串口為7

MSComm1.Settings?=?"9600,n,8,1"

MSComm1.InBufferCount?=?0?'清除接收緩沖區(qū)

MSComm1.OutBufferCount?=?0?'清除發(fā)送緩沖區(qū)

MSComm1.InputMode?=?comInputModeBinary?'二進(jìn)制接收

MSComm1.InputLen?=?0?'讀取接收緩沖區(qū)的所有字符

MSComm1.PortOpen?=?True??'打開(kāi)串口

MSComm1.RTSEnable?=?False?'置為發(fā)送狀態(tài)

End?If

Dim?pu()?As?Byte

Dim?strdata??As?String

Dim?crc_js()?As?Byte

ReDim?pu(7)??'這個(gè)數(shù)組是8位的查詢指令

pu(0)?=?"H00"?'溫度計(jì)地址

pu(1)?=?"H03"?'查詢指令

pu(2)?=?"H00"?'2、3為溫度計(jì)地址

pu(3)?=?"H00"?'2、3為溫度計(jì)地址

pu(4)?=?"H00"?'4、5為讀取寄存器長(zhǎng)度

pu(5)?=?"H02"?'4、5為讀取寄存器長(zhǎng)度

pu(6)?=?"HC5"?'6、7為CRC校驗(yàn)碼?因?yàn)槲覀儾恢涝O(shè)備的CRC校驗(yàn)規(guī)則所以用測(cè)試軟件產(chǎn)生的校驗(yàn)碼

pu(7)?=?"HDA"?'6、7為CRC校驗(yàn)碼

MSComm1.Output?=?pu

'不做任何事情,僅僅允許其它應(yīng)用程序處理它們的事件。

DoEvents

MSComm1.InBufferCount?=?0?'清除接收緩沖區(qū)

MSComm1.RThreshold?=?9?'所要接收的數(shù)據(jù)長(zhǎng)度,我們通過(guò)COM檢測(cè)精靈看到了回傳數(shù)據(jù)一共是9字節(jié)

MSComm1.RTSEnable?=?True?'轉(zhuǎn)為接收狀態(tài)

End?Sub

Private?Sub?Command2_Click()

Timer1.Enabled?=?False

End?Sub

Private?Sub?Form_Unload(Cancel?As?Integer)

If?MSComm1.PortOpen?Then

MSComm1.PortOpen?=?False??'關(guān)閉串口

End?If

Timer1.Enabled?=?False

End?Sub

Private?Sub?MSComm1_OnComm()?'COM事件

Dim?PA()?As?Byte

Dim?PB?As?String

Select?Case?MSComm1.CommEvent

Case?comEvReceive

MSComm1.InputLen?=?0?'讀取接收緩沖區(qū)的所有字符

PB?=?MSComm1.Input

PA()?=?PB

For?i?=?0?To?UBound(PA())

'Print?"PA("??i??")";?PA(i)

If?Len(Hex(PA(i)))?=?1?Then

strdata?=?strdata??"0"??Hex(PA(i))

Else

strdata?=?strdata??Hex(PA(i))

End?If

Next

'回傳的數(shù)據(jù)串:000304012600000AC4,這9字節(jié)根據(jù)通訊協(xié)議我們進(jìn)行拆分

'00為協(xié)議內(nèi)回傳機(jī)號(hào),03為讀命令,04為返回的數(shù)據(jù)長(zhǎng)度?0126?為我要的溫度數(shù)據(jù)為十六進(jìn)制表達(dá),下面我進(jìn)行數(shù)據(jù)處理

wd?=?CLng("H"??Left(Right(strdata,?12),?4))?/?10??"℃"???'根據(jù)通訊協(xié)議換算成溫度

Text1?=?Text1??vbCrLf??strdata??"??"??wd

strdata?=?""

MSComm1.PortOpen?=?False??'關(guān)閉串口

End?Select

End?Sub

Private?Sub?Timer1_Timer()

Call?Command1_Click

End?Sub

這是我的測(cè)試結(jié)果。

下面是通訊協(xié)議

這個(gè)是我的軟件用檢測(cè)精靈檢測(cè)的結(jié)果

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解決也可以。

請(qǐng)教用VB.NET向串口發(fā)送16進(jìn)制的數(shù)的方法

應(yīng)該是你的轉(zhuǎn)換格式不正確,下面代碼就是將文本框中以一個(gè)空格隔開(kāi)的十六進(jìn)制轉(zhuǎn)為字節(jié)的代碼,文本框中數(shù)字格式為:01 02 03

Dim TestArray() As String = Split(TextBox1.Text)

Dim hexBytes() As Byte

ReDim hexBytes(TestArray.Length - 1)

Dim i As Integer

For i = 0 To TestArray.Length - 1

hexBytes(i) = Val("h" TestArray(i))

Next

SerialPort.Write(hexBytes, 0, hexBytes.Length)

如果有問(wèn)題可以再聯(lián)系。

網(wǎng)站欄目:vbnet串口實(shí)例的簡(jiǎn)單介紹
分享路徑:http://jinyejixie.com/article18/dosshgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站改版軟件開(kāi)發(fā)、網(wǎng)站維護(hù)網(wǎng)站內(nèi)鏈、電子商務(wù)

廣告

聲明:本網(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)

h5響應(yīng)式網(wǎng)站建設(shè)
贺兰县| 吴江市| 长春市| 苗栗县| 邓州市| 松滋市| 庆阳市| 涿州市| 左云县| 乐安县| 鄂伦春自治旗| 类乌齐县| 辽阳市| 白银市| 库伦旗| 朝阳区| 民丰县| 吉隆县| 巨野县| 本溪市| 内江市| 东阿县| 海宁市| 阿巴嘎旗| 彭泽县| 宁晋县| 海南省| 怀宁县| 永济市| 霍邱县| 定西市| 琼中| 阳春市| 怀来县| 宾阳县| 靖远县| 安平县| 汶上县| 东安县| 若羌县| 禄丰县|