国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
串口技術(shù) BCD碼
我有個溫度巡回監(jiān)測儀需要與電腦進行通訊,要求電腦及儀表發(fā)射的編碼均含有BCD壓縮碼,請哪位高手幫忙用VB6.0編一個采集原程序,謝謝!
 
最佳答案
編碼本身都是為了在計算機中運算使用。實質(zhì)上,在計算機中只有以高低電平來表示的二進制。至于,BCD碼是一種8421編碼,它將一個字節(jié)分兩部分,高4位代表一個數(shù)字,低4位代表一個數(shù)字。也就是說,計算機怎么識別一個字節(jié)到底是二進制碼還是BCD碼,這是由程序代碼來運算的。
我的理解可由16進制數(shù)簡化理解:
每2個BCD碼構(gòu)成一字節(jié),接收到每字節(jié)二進制數(shù)據(jù)需處理成16進制的字符形式。僅是由00-99的范圍。而非00-FF范圍。
同樣發(fā)送的10進制數(shù)以每2個BCD碼組成1個16進制數(shù)形成二進制的一個字節(jié)發(fā)送來達到目的。
基于如上設(shè)想所做的收發(fā)代碼如下:
Option Explicit

Private Sub cmdSend_Click()
Call Timer1_Timer
End Sub

Private Sub Form_Load()
Me.MSComm1.CommPort = 1
Me.MSComm1.PortOpen = True
Me.MSComm1.RThreshold = 1
txtSend = "1234"
txtReceive = ""
Timer1.Interval = 0
End Sub

Private Sub MSComm1_OnComm()
On Error Resume Next
Dim BytesReceived() As Byte
Dim buffer As String
Dim HData As String
Dim i As Integer
Select Case MSComm1.CommEvent
Case comEvReceive '接收十六進制數(shù)據(jù)。并以十六進制顯示
MSComm1.InputLen = 0
MSComm1.InputMode = comInputModeBinary '設(shè)置當(dāng)前以二進制數(shù)接收數(shù)據(jù)
buffer = MSComm1.Input '接收數(shù)據(jù)至字符串中
BytesReceived() = buffer '將數(shù)據(jù)轉(zhuǎn)入BYTE中
For i = 0 To UBound(BytesReceived) '顯示結(jié)果以十六進制顯示
If Len(Hex(BytesReceived(i))) = 1 Then
HData = HData & "0" & Hex(BytesReceived(i))
Else
HData = HData & Hex(BytesReceived(i))
End If
txtReceive.Text = HData '最后將結(jié)果后入txtreceive中
MSComm1.OutBufferCount = 0 '清除發(fā)送緩沖區(qū)
MSComm1.InBufferCount = 0 '清除接收緩沖區(qū)
Next
End Select
End Sub

Private Sub Timer1_Timer()
On Error Resume Next
Dim bytData(1) As Byte
Dim i As Integer
For i = 1 To 4 Step 2
bytData((i - 1) / 2) = Val("&H" & Mid(txtSend, i, 2))
Next
MSComm1.Settings = "9600,n,8,1"
Call SendData(bytData) '發(fā)送命令
End Sub
Public Function SendData(ByRef bytData() As Byte) As Long
On Error Resume Next
MSComm1.InBufferCount = 0 '清空接收緩沖區(qū)
MSComm1.Output = bytData '發(fā)送數(shù)據(jù)
Do
DoEvents
Loop Until MSComm1.OutBufferCount = 0 '等待,直到數(shù)據(jù)發(fā)送完畢
MSComm1.OutBufferCount = 0 '清空發(fā)送緩沖區(qū)
End Function

附件:Bcd.rar
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
學(xué)習(xí)vb的心得體會
用VB開發(fā)多通道儀表數(shù)據(jù)采集程
二進制碼與BCD碼
自己用VB編制的上位機(MSComm控件)
中國PLC網(wǎng)>>modbus vb源程序 可以讀寫寄存器
條形碼編程實例
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服