?? comm.bas
字號:
Attribute VB_Name = "Module4"
'組要發送的幀
Function FaSong(Data() As Byte, DataLen As Integer)
Dim tmp() As Byte
ReDim tmp(DataLen - 1) As Byte
Dim i As Integer
For i = 0 To DataLen - 1
tmp(i) = Data(i)
Next i
'Form1.MSComm1.Output = tmp
OutLen = DataLen
If OutCiShu > 0 Then
OutCiShu = OutCiShu - 1
End If
End Function
Function ZuZheng(DataID As String, Data() As Byte, DataLen As Byte, DataType As Byte) As Byte
Dim TempData(1) As Byte
Dim dlen As Byte
Dim CRC As Long
outdata(0) = &H68
Dim tempstring As String
tempstring = DataID
StringToHex tempstring, TempData
If DataType = 1 Then '讀參數
outdata(1) = &H5
outdata(2) = &H19
outdata(3) = &O2 '數據長度
outdata(4) = TempData(1) '低位在前
outdata(5) = TempData(0) '高位在后
'/Outdata(6)
CRC = CRC_Cal(0, outdata, 6) '計算CRC
outdata(6) = CRC And &HFF
CRC = CRC And &HFF00
CRC = CRC / 256
outdata(7) = CRC And &HFF
outdata(8) = &H16
outdata(9) = &HFF
'OutCiShu = 3 '出錯重復次數3
'FaSong outdata, 9
ElseIf DataType = 2 Then '寫參數 '
outdata(1) = &H5
outdata(2) = &H1A
outdata(3) = DataLen + 2 '數據長度
outdata(4) = TempData(1) '低位在前
outdata(5) = TempData(0) '高位在后
Dim i As Byte
For i = 0 To DataLen - 1
outdata(6 + i) = Data(i)
Next i
CRC = CRC_Cal(0, outdata, 6 + DataLen) '計算CRC
outdata(6 + i) = CRC And &HFF
CRC = CRC And &HFF00
CRC = CRC / 256
outdata(7 + i) = CRC And &HFF
outdata(8 + i) = &H16
outdata(9 + i) = &HFF
'OutCiShu = 3 '出錯重復次數3
'FaSong outdata, 9 + i
ElseIf DataType = 3 Then '讀電流 電壓
outdata(1) = &H1 '讀電壓參數
outdata(2) = &H2 '固定長度
outdata(3) = TempData(1) '低位在前
outdata(4) = TempData(0) '高位在后
outdata(5) = XuHao
outdata(6) = Wendu
CRC = CRC_Cal(0, outdata, 7) '計算CRC
outdata(7) = CRC And &HFF
CRC = CRC And &HFF00
CRC = CRC / 256
outdata(8) = CRC And &HFF
outdata(9) = &H16
outdata(10) = &HFF
'FaSong outdata, 10
'OutCiShu = 3 '出錯重復次數3
ElseIf DataType = 4 Then '保存到FLASH中
outdata(1) = &H5
outdata(2) = &H20
outdata(3) = 2 '數據長度
outdata(4) = &HFF '低位在前
outdata(5) = &HFF '高位在后 無效的命令
CRC = CRC_Cal(0, outdata, 6 + DataLen) '計算CRC
outdata(6) = CRC And &HFF
CRC = CRC And &HFF00
CRC = CRC / 256
outdata(7) = CRC And &HFF
outdata(8) = &H16
outdata(9) = &HFF
'OutCiShu = 3 '出錯重復次數3
'FaSong outdata, 9
ElseIf DataType = 5 Then '恢復默認值
outdata(1) = &H5
outdata(2) = &H21
outdata(3) = 2 '數據長度
outdata(4) = &HFF '低位在前
outdata(5) = &HFF '高位在后 無效的命令
CRC = CRC_Cal(0, outdata, 6 + DataLen) '計算CRC
outdata(6) = CRC And &HFF
CRC = CRC And &HFF00
CRC = CRC / 256
outdata(7) = CRC And &HFF
outdata(8) = &H16
outdata(9) = &HFF
'OutCiShu = 3 '出錯重復次數3
'FaSong outdata, 9
End If
End Function
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -