三轴传感器串口数据用VB6如何解析问题,求助各位大神

tucan15 2015-02-02 04:33:39
RT,举例:串口接收的数据一组为11:55 51 23 00 2E 00 15 08 F5 F0 F9
0 0x55 包头
1 0x51 标识这个包是加速度包
2 AxL X 轴加速度低字节
3 AxH X 轴加速度高字节
4 AyL y 轴加速度低字节
5 AyH y 轴加速度高字节
6 AzL z 轴加速度低字节
7 AzH z 轴加速度高字节
8 TL 温度低字节
9 TH 温度高字节
10 Sum 校验和

加速度计算公式:
ax =((AxH<<8)|AxL)/32768*16g(g 为重力加速度,可取9.8m/s2 )

ay =((AyH<<8)|AyL)/32768*16g(g 为重力加速度,可取9.8m/s2 )

az =((AzH<<8)|AzL)/32768*16g(g 为重力加速度,可取9.8m/s2)

温度计算公式:
T=((TH<<8)|TL) /340+36.53
校验和:
Sum=0x55+0x51+AxH+AxL+AyH+AyL+AzH+AzL+TH+TL
本人小白,想请问下各位该如何用VB6解析代码,能写一下代码结构吗,谢谢了
...全文
229 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2015-02-03
  • 打赏
  • 举报
回复
    Dim a() As Byte
Dim ax As Double
Dim ay As Double
Dim az As Double

a = MSComm1.Input()

If a(0) = &H55 And a(1) = &H51 Then
ax = (a(3) * &H100& + a(2)) / &H800& * 9.8
ay = (a(5) * &H100& + a(4)) / &H800& * 9.8
az = (a(7) * &H100& + a(6)) / &H800& * 9.8
...
End If
楚狂歌 2015-02-02
  • 打赏
  • 举报
回复
左移8位就是乘以2的8次方,右移是除以2的8次方
楚狂歌 2015-02-02
  • 打赏
  • 举报
回复
我估计楼主是不会把数据从串口取出来。。。
zdingyun 2015-02-02
  • 打赏
  • 举报
回复
VB中0X55 写作 &H55 0X00 VB 写作 &H0

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧