【陀螺仪JY61P维特智能】通过单片机修改波特率和角度参考的方法

根据官方文档:

修改波特率
1.解锁:FF AA 69 88 B5
1.1延时200ms
2.修改波特率:FF AA 04 06 00
2.1切换已修改的波特率然后重新发送解锁和保存指令
2.2解锁:FF AA 69 88 B5
2.3延时200ms
4.保存: FF AA 00 00 00

XY轴角度参考
角度参考是以传感器当前的实际位置,让xy轴的角度归零,做一个相对归零操作。
指令操作流程
1.解锁:FF AA 69 88 B5
1.1延时200ms
2.校准:FF AA 01 08 00
2.1延时3秒(实测200ms也可)
3.保存: FF AA 00 00 00

Z轴置零
注:z轴归零需要在六轴算法的前提下,算法切换可以在上位机配置界面修改,九轴设备下的九轴算法是绝对角度,不能归零。指令操作流程:
1.解锁:FF AA 69 88 B5
1.1延时200ms
2.校准:FF AA 01 04 00
2.1延时3秒(实测200ms也可)
3.保存: FF AA 00 00 00


uint8_t  JY61P_ULOCK_CMD[5] = {0xFF, 0xAA, 0x69, 0x88, 0xB5}; //解锁
uint8_t  JY61P_BAUD_CMD [5] = {0xFF, 0xAA, 0x04, 0x06, 0x00}; //波特率修改为115200
uint8_t  JY61P_SAVE_CMD [5] = {0xFF, 0xAA, 0x00, 0x00, 0x00}; //保存
uint8_t  JY61P_XY0_CMD  [5] = {0xFF, 0xAA, 0x01, 0x08, 0x00}; //XY角度归零
uint8_t  JY61P_Z0_CMD   [5] = {0xFF, 0xAA, 0x01, 0x04, 0x00}; //Z轴归零/* 延时函数 */
void delay_ms(uint32_t ms)  
{  uint32_t i, j;  for (i = ms; i > 0; i--)  {  for (j = 800; j > 0; j--); // 这个值可能需要调整  }  
}  
/* IMU波特率修改函数 */
void JY61P_BAUD(void)
{usart1_send_buff(JY61P_ULOCK_CMD, sizeof(JY61P_ULOCK_CMD));  //解锁delay_ms(200);//延时200msusart1_send_buff(JY61P_BAUD_CMD, sizeof(JY61P_BAUD_CMD));    //修改波特率为115200delay_ms(200);usart1_send_buff(JY61P_SAVE_CMD, sizeof(JY61P_SAVE_CMD));    //保存delay_ms(200);
}
/* IMU归零函数 */
void JY61P_START(void)
{usart1_send_buff(JY61P_ULOCK_CMD, sizeof(JY61P_ULOCK_CMD));  //解锁delay_ms(200);//延时200msusart1_send_buff(JY61P_XY0_CMD, sizeof(JY61P_XY0_CMD));    //XY轴归零delay_ms(200);usart1_send_buff(JY61P_Z0_CMD, sizeof(JY61P_Z0_CMD));      //Z轴归零delay_ms(200);usart1_send_buff(JY61P_SAVE_CMD, sizeof(JY61P_SAVE_CMD));    //保存delay_ms(200);
}

实现效果:单片机上电初始化后XYZ数值为0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/675654.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Terraform资源

资源是Terraform中最核心的部分,使用Terraform的目的就是用于管理资源。 在Terraform中,资源使用resource块定义。 一个resource可以定义一个或多个基础设施资源对象,如:VPC,虚拟机,DNS记录,Con…

C++ Primer 总结索引 | 第十四章:重载运算与类型转换

1、C语言定义了 大量运算符 以及 内置类型的自动转换规则 当运算符 被用于 类类型的对象时&#xff0c;C语言允许我们 为其指定新的含义&#xff1b;也能自定义类类型之间的转换规则 例&#xff1a;可以通过下述形式输出两个Sales item的和&#xff1a; cout << item1 …

【自动驾驶|毫米波雷达】逻辑化讲清快时间与慢时间傅里叶变换

碎碎念&#xff1a;实习过程中发现在进行雷达知识交流时&#xff0c;大部分同事都会用英文简称代替中文的一些称呼&#xff0c;比如Chirp、FFT等等。起初我觉得是因为很多英伟达、TI芯片的开发教程都是英文的&#xff0c;所以看得多了大家都习惯这样称呼&#xff0c;后来在和指…

微信小程序15: 小程序组件

创建组件 ①在项目的根目录中&#xff0c;鼠标右键&#xff0c;创建components -> test文件夹 ②在新建的components -> test文件夹上&#xff0c;鼠标右键&#xff0c;点击“新建Component‘ ③键入组件的名称之后回车&#xff0c;会自动生成组件对应的4个文件&#…

Mysql数据在磁盘上的存储结构

一. 前言 一行数据的存储格式大致如下所示: 变长字段的长度列表&#xff0c;null值列表&#xff0c;数据头&#xff0c;column01的值&#xff0c;column02的值&#xff0c;column0n的值… 二. 变长字段 在MySQL里有一些字段的长度是变长的&#xff0c;是不固定的&#xff0c;…

如何获得一个Oracle 23ai数据库(RPM安装)

准确的说&#xff0c;是Oracle 23ai Free Developer版&#xff0c;因为企业版目前只在云上&#xff08;OCI和Azure&#xff09;和ECC上提供。 方法包括3种&#xff0c;本文介绍第2种&#xff1a; Virtual ApplianceRPM安装Docker RPM安装支持Linux 8和Linux 9。由于官方的Vi…

sprig 项目启动时报错:MybatisDependsonDatabaseInitializationDetector

问题 使用application.yml启动项目报错&#xff1a; 解决方案 修改pom.xml: 修改这两处的版本

在QEMU上运行OpenSBI+Linux+Rootfs

在QEMU上运行OpenSBILinuxRootfs 1 编译QEMU2 安装交叉编译工具3 编译OpenSBI4 编译Linux5 创建根文件系统5.1 编译busybox5.2 创建目录结构5.3 制作文件系统镜像5.3.1 创建 ext2 文件5.3.2 将目录结构拷贝进 ext2 文件5.3.3 取消挂载 6 运行OpenSBILinuxRootfs 本文所使用的版…

Facebook革命:数字社交的全新篇章

随着互联网的不断普及和科技的飞速发展&#xff0c;社交媒体已经成为现代社会不可或缺的一部分。在众多社交媒体平台中&#xff0c;Facebook以其广泛的用户群体和强大的功能而备受瞩目。然而&#xff0c;Facebook并非止步于现状&#xff0c;而是正在掀起一场数字社交的革命&…

环保访谈|浙江双视专注红外机器视觉及智能化应用,保障安全生产

近期&#xff0c;中联环保圈希姐采访了浙江双视科技股份有限公司环保行业销售总监孙波&#xff0c;深入了解了双视科技的发展历程、产品和解决方案、合作流程、核心竞争力以及未来规划。 双视于2014年创立&#xff0c;专注于红外机器视觉、人工智能技术与应用开发&#xff0c;…

矩阵相关运算1

矩阵运算是线性代数中的一个核心部分&#xff0c;它包含了许多不同类型的操作&#xff0c;可以应用于各种科学和工程问题中。 矩阵加法和减法 矩阵加法和减法需要两个矩阵具有相同的维度。操作是逐元素进行的&#xff1a; CAB or CA−B其中 A,B 和 C 是矩阵&#xff0c;且 C…

简单了解泛型

基本数据类型和对应的包装类 在Java中, 基本数据类型不是继承自Object, 为了在泛型代码中可以支持基本类型, Java给每个基本类型都对应了一个包装类型. 简单来说就是让基本数据类型也能面向对象.基本数据类型可以使用很多方法, 这就必须让它变成类. 基本数据类型对定的包装类…