STM32CUBEIDE 上实现MPU6050姿态解算

STM32CUBEIDE

        cubeide具有可视的时钟树,直接配置的GPIO,UART很方便写代码,但是现在网络上的cubeide的代码文件还是比较少的,就想着多发一点ide的代码。

这个项目是github上的,这里只是做了一个简单的介绍

具体网址:https://github.com/ibrahimcahit/STM32_MPU6050_KalmanFilter

mpu6050的寄存器可以看这篇:https://blog.csdn.net/w1050321758/article/details/108996091?spm=1001.2014.3001.5506

ide配置

用的芯片是stm32f407,采用软件i2c通信,通过串口把解算的数据打印出来了

不过HAL库自带的I2C确实方便。

先配一下时钟树和串口

再配一下uart

I2C配置

再把GPIO配置一下

这样就好了。

MPU6050

mpu6050就是里面有个陀螺仪(计算角速度),加速度计,和温度传感器(在网上看见说搞温漂的)。

头文件内容


#ifndef BSP_MPU6050_H_
#define BSP_MPU6050_H_


#include <stdint.h>
#include "i2c.h"

// MPU6050 structure
typedef struct {

    int16_t Accel_X_RAW;
    int16_t Accel_Y_RAW;
    int16_t Accel_Z_RAW;
    double Ax;
    double Ay;
    double Az;

    int16_t Gyro_X_RAW;
    int16_t Gyro_Y_RAW;
    int16_t Gyro_Z_RAW;
    double Gx;
    double Gy;
    double Gz;

    float Temperature;

    double KalmanAngleX;
    double KalmanAngleY;
} MPU6050_t;


// Kalman structure
typedef struct {
    double Q_angle;
    double Q_bias;
    double R_measure;
    double angle;
    double bias;
    double P[2][2];
} Kalman_t;


uint8_t MPU6050_Init(I2C_HandleTypeDef *I
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值