赞
踩
需要的东西:
1、时钟设置
2、调试设置
3、I2C 设置
4、串口设置
5、生成代码
不截图了占空间
1、文件放置 (文件放在 Drivers 下面 )
2、头文件导入
3、添加文件组
3、设置 printf 输出函数
这里懒得粘贴图片了,设置 printf 如果不会就参考以下链接:
STM32 HAL库使用 printf 输出
4、导入头文件
#include "mpu6050.h"
#include "inv_mpu.h"
#include "inv_mpu_dmp_motion_driver.h"
代码位置:
5、定义接收变量
float pitch, roll, yaw;
代码位置:
6、读取状态
/* USER CODE BEGIN 2 */ printf("-- Mpu6050 Project Start -- \r\n"); HAL_Delay(1000); /* *DMP��ʼ�� */ while (mpu_dmp_init()) { HAL_Delay(200); } printf("Successfully initialized!\r\n"); /* *iic��ȡ����ID */ printf ("Ready to read the ID\r\n"); uint8_t recv = 0x00; HAL_I2C_Mem_Read(&hi2c1, (0x68 << 1), 0x75, I2C_MEMADD_SIZE_8BIT, &recv, 1, 0xfff); if (recv == 0x68) { printf("mpu6050 ID Read: OK at 0x68\r\n"); } else { printf("Err mpu id:0x%x\r\n", recv); } /* USER CODE END 2 */
代码位置:
7、读取数值
/* USER CODE END WHILE */
while(mpu_dmp_get_data(&pitch, &roll, &yaw) != 0){}
printf("data: %f,%f,%f\r\n", pitch, roll, yaw);
HAL_Delay(500);
/* USER CODE BEGIN 3 */
代码位置:
8、代码串口输出效果
代码参考以下链接修改而来,如需要源码可以去他的 网页下载(我使用的是 F4 源码修改的):
链接: STM32F4/STM32F1手把手移植MPU6050欧拉角(HAL库,带源码)
今天改了一天,终于把他弄出来了!累,顺便写个记录!
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。