找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1347|回复: 0
打印 上一主题 下一主题
收起左侧

用stm32读取6050(接上一篇)

[复制链接]
跳转到指定楼层
楼主
ID:335302 发表于 2018-11-22 17:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
接上一篇帖子,发帖一定会发完整的,不要着急等我慢慢更新。

MPU6050.C

#include "MPU6050.h"


void MPU6050_Init(void){  //初始化MPU6050
        I2C_SAND_BYTE(MPU6050_ADD,MPU6050_RA_PWR_MGMT_1,0x80);//解除休眠状态
        delay_ms(1000); //等待器件就绪
        I2C_SAND_BYTE(MPU6050_ADD,MPU6050_RA_PWR_MGMT_1,0x00);//解除休眠状态
        I2C_SAND_BYTE(MPU6050_ADD,MPU6050_RA_SMPLRT_DIV,0x07);//陀螺仪采样率
        I2C_SAND_BYTE(MPU6050_ADD,MPU6050_RA_CONFIG,0x06);         
        I2C_SAND_BYTE(MPU6050_ADD,MPU6050_RA_ACCEL_CONFIG,0x00);//配置加速度传感器工作在16G模式
        I2C_SAND_BYTE(MPU6050_ADD,MPU6050_RA_GYRO_CONFIG,0x18);//陀螺仪自检及测量范围,典型值:0x18(不自检,2000deg/s)
}

void MPU6050_READ(u16* n){ //读出X、Y、Z三轴加速度/陀螺仪原始数据 //n[0]是AX,n[1]是AY,n[2]是AZ,n[3]是GX,n[4]是GY,n[5]是GZ
        u8 i;
    u8 t[14];
    I2C_READ_BUFFER(MPU6050_ADD, MPU6050_RA_ACCEL_XOUT_H, t, 14); //读出连续的数据地址,包括了加速度和陀螺仪共12字节
    for(i=0; i<3; i++)         //整合加速度
      n[i]=((t[2*i] << 8) + t[2*i+1]);
    for(i=4; i<7; i++)        //整合陀螺仪
      n[i-1]=((t[2*i] << 8) + t[2*i+1]);        
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表