《XR806开发板试用》硬件IIC驱动MPU6050

2024-04-24 12:04

本文主要是介绍《XR806开发板试用》硬件IIC驱动MPU6050,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.环境配置

总结一下遇到的问题:
1.需要修改配置文件中的文件路径
在这里插入图片描述

2.固件编译出现以下问题时,需要修改文件内容
在这里插入图片描述
在这里插入图片描述

2.工程目录结构

device/xradio/xr806/ohosdemo/car_demo
└── src #源文件
└── main.c #主函数
└── mpu6050.c #驱动代码
└── include #头文件
└── mpu6050.h #驱动头文件
└──BUILD.gn #编译脚本
在ohosdemo文件夹下的BUILD.gn编译脚本文件修改为工程文件名
在这里插入图片描述

修改car_demo文件夹中的编译脚本,加入头文件路径
在这里插入图片描述

####3.驱动函数
1.向MPU6050指定寄存器写一个字节
uint8_t MPU_Write_Byte(uint32_t reg,uint8_t data)
{
uint8_t res;
write_buffer[0]=data;
res=HAL_I2C_Master_Transmit_Mem_IT(I2C0_ID,0x68,reg,I2C_MEMADDR_SIZE_8BIT,write_buffer,1);
if(res==-1)
{
printf(“MPU_WRITE_Byte_%d error”,data);
return 1;
}
else

 return 0;   }

2.读MPU6050指定寄存器的数据

uint8_t MPU_Read_Byte(uint32_t reg){HAL_I2C_Master_Receive_Mem_IT(I2C0_ID, 0x68, (uint32_t)reg, I2C_MEMADDR_SIZE_8BIT, read_buffer, 1);return read_buffer[0];}

3.连续写字节

uint8_t MPU_Write_Len(uint16_t addr,uint32_t reg,int32_t len,uint8_t *buf){HAL_I2C_Master_Transmit_Mem_IT(I2C0_ID,addr,reg,I2C_MEMADDR_SIZE_8BIT,buf,len);return 0;}

4.连续读字节

uint8_t MPU_Read_Len(uint16_t addr,uint32_t reg,int32_t len,uint8_t *buf){HAL_I2C_Master_Receive_Mem_IT(I2C0_ID,addr,reg,I2C_MEMADDR_SIZE_8BIT,buf,len);return 0;}

####5.主函数,创建初始化线程,并采集数据,通过串口打印出来
在这里插入图片描述

####6.效果展示
在这里插入图片描述

调整MPU6050的姿态可以持续采集到数据

这篇关于《XR806开发板试用》硬件IIC驱动MPU6050的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/931699

相关文章

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

开发板NFS挂载文件目录

文章目录 序NFS1. 安装 NFS 服务器和客户端在服务器上(NFS 服务器端)在客户端上(NFS 客户端) 2. 配置 NFS 服务器创建共享目录编辑 `/etc/exports` 文件启动 NFS 服务 3. 在客户端挂载 NFS 共享创建挂载点挂载 NFS 共享验证挂载 4. 设置开机自动挂载5. 解决权限问题 序 本节主要实现虚拟机(服务器)与开发板(客户端)通过N

驱动(RK3588S)第七课时:单节点设备树

目录 需求一、设备树的概念1、设备树的后缀名:2、设备树的语法格式3、设备树的属性(重要)4、设备树格式举例 二、设备树所用函数1、如何在内核层种获取设备树节点:2、从设备树上获取 gpio 口的属性3、获取节点上的属性只针对于字符串属性的4、函数读取 np 结点中的 propname 属性的值,并将读取到的 u32 类型的值保存在 out_value 指向的内存中,函数的返回值表示读取到的

驱动安装注册表指令

HKCR: HKEY_CLASSES_ROOT HKCU: HKEY_CURRENT_USER HKLM: HKEY_LOCAL_MACHINE HKU: HEKY_USER HER: 相对根键

UMDF驱动安装

VS2013 + WDF8.1,UMDF驱动选择User Mode Driver,不要选User Mode Driver 2.0,否则Win7安装有问题,如图 另外,在驱动安装时不要忘记WUDFUpdate_<主版本号><次版本号>.dll文件,具体文件名在INF中查找。此文件可在WDF的安装目录中找到。注意:在WDF的安装目录中会有3个WUDFUpdate_xxx.dll文件,x86,x6

安卓开发板_联发科MTK开发评估套件串口调试

串口调试 如果正在进行lk(little kernel ) 或内核开发,USB 串口适配器( USB 转串口 TTL 适配器的简称)对于检查系统启动日志非常有用,特别是在没有图形桌面显示的情况下。 1.选购适配器 常用的许多 USB 转串口的适配器,按芯片来分,有以下几种: CH340PL2303CP2104FT232 一般来说,采用 CH340 芯片的适配器,性能比较稳定,价

JAVA学习-练习试用Java实现“删除有序数组中的重复项”

问题: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。 你可以想象内部操作如下

电脑驱动分类

电脑驱动程序(驱动程序)是操作系统与硬件设备之间的桥梁,用于使操作系统能够识别并与硬件设备进行通信。以下是常见的驱动分类: 1. 设备驱动程序 显示驱动程序:控制显卡和显示器的显示功能,负责图形渲染和屏幕显示。 示例:NVIDIA、AMD 显示驱动程序。打印机驱动程序:允许操作系统与打印机通信,控制打印任务。 示例:HP、Canon 打印机驱动程序。声卡驱动程序:管理音频输入和输出,与声卡硬件

机器视觉硬件选型根据某项目相机镜头

一 项目总需求 1、大视野检测需求: (1)大视野: ①产品尺寸15.6寸屏幕,产品大小:350mm x 225mm; ②产品料盘尺寸大小:565mm x 425mm; ③工作距离:880mm;检测精度:500μm; 1、大视野检测需求: (1)大视野: ①产品尺寸15.6寸屏幕,产品大小:350mm x 225mm; ②产品料盘尺寸大小:565mm x 425mm; 工作距离: