比如加速度计传给VB的数据是10.1234
vb应该如何接收才能保证精度,也就是接收到的数值也是10.1234
而不是10或其他
'*******************声明变量*********************
Option Explicit
Dim strData As String
Dim bytInput() As Byte '这里为什么一定要byte类型。byte类型接收回来的数值范围是0-255 但是我想要接收小数,怎么接啊?
Private Sub MSComm1_OnComm()
Dim intInputLen As Integer
MSComm1.InputMode = comInputModeBinary '二进制接收
intInputLen = MSComm1.InBufferCount
ReDim bytInput(intInputLen)
bytInput = MSComm1.Input
jieshou
End Sub
Public Function jieshou() '接收数据处理为16进制
Dim i As Integer
For i = 0 To UBound(bytInput)
If Len(Hex(bytInput(i))) = 1 Then
strData = strData & "0" & Hex(bytInput(i)) & " "
Else
strData = strData & Hex(bytInput(i)) & " "
End If
Next
TxtReceive = strData
TxtReceive.SelStart = Len(TxtReceive.Text)
End Function
byte类型接收回来的数值范围是0-255
但是byte()可以表示更大的范围。
你需要知道你用的协议,比如byte()如果有4个字节,可能是标准的IEEE754浮点数。