mpu6050六轴陀螺仪dmp姿态解算-C语言移植(stm32+hal)

官方库源文件:
1 移植官方6个库文件
2 修改inv_mpu.h中结构体

// 新增   void (*tmp)(void);
struct int_param_s {
#if defined EMPL_TARGET_MSP430 || defined MOTION_DRIVER_TARGET_MSP430
    void (*cb)(void);
    unsigned short pin;
    unsigned char lp_exit;
    unsigned char active_low;
#elif defined EMPL_TARGET_UC3L0
    unsigned long pin;
    void (*cb)(volatile void*);
    void *arg;
#elif defined EMPL_TARGET_STM32L
    void (*cb)(void);
#endif
   void (*tmp)(void);
};

3 修改inv_mpu.c

// 步骤二:注释掉
#ifndef EMPL_TARGET_STM32L    
  //  if (int_param)
  //      reg_int_cb(int_param);

4 修改 inv_mpu_motion_driver.c

// 注释 __no_operation();
int dmp_set_accel_bias(long *bias)
{
    long accel_bias_body[3];
    unsigned char regs[12];
    long long accel_sf;
    unsigned short accel_sens;

    mpu_get_accel_sens(&accel_sens);
    accel_sf = (long long)accel_sens << 15;

 //    __no_operation();

5 keil中增加宏定义

STM32F103_DMP,MPU6050,EMPL,MPL_LOG_NDEBUG=1

6 移植核心[修改inv_mpu.c|inv_mpu_motion_driver.c]

 #if defined STM32F103_DMP
 #include "mpu.h"   
 #define i2c_write   MPU_Write_Len
 #define i2c_read    MPU_Read_Len  
 #define delay_ms    HAL_Delay
 #define get_ms      get_ms_count
 #define log_i       printf
 #define log_e       printf
 #define min(a,b) ((a<b)?a:b)

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值