维特智能JY901B数据读取

 

目录

 1. JY901B数据手册

2. 解决思路

3. 代码


前言:本次博客为JY901B的一个学习记录,因为在学习的过程中看了很多博客,也找了很多代码,要不就是代码是老古董(是标准库的不是HAL库的,直接操作寄存器,太复杂了尤其是对于小白很不友好,如有需要我把相关能使用的代码都打包,自取),要不就是用不了
目的:主要是展示如何读取JY901B的数据并将其串口打印以及使用VOFA+进行波形显示

涉及知识:STM32 USART串口通信

软件:Keil5+STM32CubeMX

硬件:JY901B+STM32C8T6+USB转TTL+STLink

 1. JY901B数据手册

来源自维特智能官网,很详细,链接如下:

JY901B产品规格书 (yuque.com)icon-default.png?t=N7T8https://wit-motion.yuque.com/wumwnr/docs/mpvp3c

2. 解决思路


// 主要是展示我如何解决这个这个问题的思路的
1. 我拿到手上的硬件是已经和STM32芯片焊接好的模块,
    因此我法直接使用USB转TTL模块查看JY901B发送的信息,直观的去查看数据是什么,
    但不影响,一方面网上可以找到相关的实验现象,
    其次根据官方提供的文档“WIT私有协议”我们也能查看到数据包的内容。
来自于其他博客的实验现象

  JY901B智能9轴加速度计陀螺仪角度传感器-CSDN博客

2.思考STM32芯片,JY901B,串口一,串口二到底是什么关系?

3.了解到了他们的关系怎么实现呢?
首先,JY901B到STM32会按照官方的通信协议(WIT私有协议)进行数据传递,
那我们就要对于这个数据包解析,他到底发送过来的数据是什么形式的,
大思路肯定就是接收了管他三七二十一先用函数放到数组中,然后再对数据进行处理打印。

不过这三七二十一还是得有一定的准度的,不能完全接收错误的内容是吧

WIT私有协议 (yuque.com)icon-default.png?t=N7T8https://wit-motion.yuque.com/wumwnr/ltst03/vl3tpy?#%20%E3%80%8AWIT%E7%A7%81%E6%9C%89%E5%8D%8F%E8%AE%AE%E3%80%8B

从文档中我们了解到他的协议,即数据包的结构,由此我们就能准确的得知数据包的格式。那么只要打开串口二中断接收,判断帧头以及帧尾我们就能接收好数据了。

4.接收好了数据我们把它存在数组中,再根据文档上的处理方式,我们就得到了想要的数据。
那么再通过串口一打印就好,这里提到了VOFA+通过波形展示,不用写什么额外的通信协议,
你串口打印就能观察到波形,详细的可见VOFA+的操作手册。

快速开始 | VOFA-Plus上位机icon-default.png?t=N7T8https://www.vofa.plus/docs/learning/start/quick_start/

3. 代码解读

STM32CubeMX方就是常规的打开串口的操作,如不懂可以搜一下相关博客,很多写的

Keil5方的话最重要的就是串口的中断处理,我的代码我将中断处理写在了my_usart里面,JY901B的话主要就是一个校验的计算函数,然后就是在mian里面串口1打印。

4. 实现效果

5. 代码传送门
zlx/维特智能JY901Bicon-default.png?t=N7T8https://gitee.com/northern_light/wite-intelligence---jy901-b.git

6. 参考资料

STM32应用(七)JY901九轴姿态模块(串口DMA空闲中断和I2C通信)-CSDN博客

JY901B智能9轴加速度计陀螺仪角度传感器-CSDN博客 

STM32实现六轴姿态测量陀螺仪模块JY61P(标准库与HAL库实现)-CSDN博客

  • 11
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值