432使用IIC驱动mpu6050

发布者:EternalWhisper最新更新时间:2022-08-19 来源: csdn关键字:IIC驱动  mpu6050 手机看文章 扫描二维码
随时随地手机看文章

被TI坑的最惨的一次

他喵的给的管脚图跟代码居然对不上

图片上的IIc(0)对应代码的IIc(1)

图片上的IIc(1)对应代码的IIc(0)

在这里插入图片描述

直接上代码,大家可以烧录测试一下

这里使用的是IIc(0),所以要插板子上的IIC(1)


#include "Wire.h"


// I2Cdev and MPU6050 must be installed as libraries, or else the .cpp/.h files

// for both classes must be in the include path of your project

#include "I2Cdev.h"

#include "MPU6050.h"


// class default I2C address is 0x68

// specific I2C addresses may be passed as a parameter here

// AD0 low = 0x68 (default for InvenSense evaluation board)

// AD0 high = 0x69

MPU6050 accelgyro;


int16_t ax, ay, az;

int16_t gx, gy, gz;


#define LED_PIN 13

bool blinkState = false;


void setup() {

    // join I2C bus (I2Cdev library doesn't do this automatically)

    Wire.begin();


    // initialize serial communication

    // (38400 chosen because it works as well at 8MHz as it does at 16MHz, but

    // it's really up to you depending on your project)

    Serial.begin(38400);


    // initialize device

    Serial.println("Initializing I2C devices...");

    accelgyro.initialize();


    // verify connection

    Serial.println("Testing device connections...");

    Serial.println(accelgyro.testConnection() ? "MPU6050 connection successful" : "MPU6050 connection failed");


    // configure Arduino LED for

    pinMode(LED_PIN, OUTPUT);

}


void loop() {

    // read raw accel/gyro measurements from device

    accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);


    // these methods (and a few others) are also available

    //accelgyro.getAcceleration(&ax, &ay, &az);

    //accelgyro.getRotation(&gx, &gy, &gz);


    // display tab-separated accel/gyro x/y/z values

    Serial.print("a/g:t");

    Serial.print(ax); Serial.print("t");

    Serial.print(ay); Serial.print("t");

    Serial.print(az); Serial.print("t");

    Serial.print(gx); Serial.print("t");

    Serial.print(gy); Serial.print("t");

    Serial.println(gz);


    // blink LED to indicate activity

    blinkState = !blinkState;

    digitalWrite(LED_PIN, blinkState);

}


效果图

在这里插入图片描述

关键字:IIC驱动  mpu6050 引用地址:432使用IIC驱动mpu6050

上一篇:基于msp430f2491的proteus仿真(实现流水灯)
下一篇:MSP432驱动st7920

推荐阅读最新更新时间:2024-11-10 10:28

利用CCS6.1 对MSP432 做factory reset
最近遇到一个问题,手上一个MSP432的板子被加了JTAG锁,需要对其进行factory reset 才能继续使用JTAG。没有在CSDN里找到方法, 在其他论坛里找到了,自己试验了一下,把流程贴出来。本帖子不是个人原创,是从别的论坛里搬过来的。 我用的launchPad上的JTAG来做的,首先打开一个工程点击 view ---- target configurations 选中展开一个工程 右击配置文件,选择 launchselected configuration 将调试器连接到设备, 右击选中相应的仿真器,并选择show all cores 这样会列出非调试设备 右击出错的内核,选择connect
[单片机]
利用CCS6.1 对MSP<font color='red'>432</font> 做factory reset
用面向对象思想封装IIC、AT24C64驱动
一. 简述 使用面向对象的编程思想封装IIC驱动,将IIC的属性和操作封装成一个库,在需要创建一个IIC设备时只需要实例化一个IIC对象即可,本文是基于STM32和HAL库做进一步封装的。底层驱动方法不重要,封装的思想很重要。在完成对IIC驱动的封装之后借助继承特性实现AT24C64存储器的驱动开发,仍使用面向对象的思想封装AT24C64驱动。 二. IIC驱动面向对象封装 iic.h头文件主要是类模板的定义,具体如下: //定义IIC类 typedef struct IIC_Type { //属性 GPIO_TypeDef *GPIOx_SCL; //GPIO_SCL所属的GPIO组(如:GPIOA) GPIO_Ty
[单片机]
手把手教你新建MSP432工程
  MSP432是德州仪器推出的新一款高性能低功耗处理器, Cortex -M4内核,较430相比处理能力大大增强,同时采用了430设计的低功耗技术,和传统ARM相比功耗更低,相信在不久的未来,TI将会推出更多的MSP432系列处理器,MSP432也会得到广泛应用,这里介绍一下如何使用keil5新建一个MSP432工程。   1.准备工作:打开keil5的Pack Installer,选择要安装的芯片包,我使用的是MSP432P401R芯片,安装好对应的芯片包。       在KEILv5的目录下,可以从刚刚下载的芯片包中找到相关驱动库,为避免麻烦,我们直接从官网下载相关库,进入TI官网,搜索MSP432DriverL
[单片机]
手把手教你新建MSP<font color='red'>432</font>工程
MPU6050六轴传感器模块初始化教程
本期介绍的是六轴传感器6050,之前在网上CSDN上看了许多关于MPU6050的介绍,感觉许多都是空话,真正实用的东西并不多,下面该模块的程序我是先看的正点原子stm32单片机的例程之后一点一点移植到FPGA中的。这里只移植了初始化和读取陀螺仪原始数据部分的程序,关于DMP嘛,因为个人能力不够移植不了。 01六轴传感器 本期介绍的ATK-MPU6050是一款高性能三轴加速度加三轴陀螺仪的六轴传感器模块,该模块采用InvenSense公司的MPU6050芯片作为核心,该芯片内部整合了3轴陀螺仪和3轴加速度传感器,并可利用自带的数字运动处理器DMP硬件加速引擎,该模块与外界的通信方式为IIC协议,向应用后台输出姿态解算后的数据。
[单片机]
<font color='red'>MPU6050</font>六轴传感器模块初始化教程
S3C2416裸机开发系列十二_IIC驱动实现
IIC是Philips推出的芯片间串行传输总线,它以二根连线实现完善的全双工同步数据传送,可以极方便地构成多机系统和外围器件扩展系统。由于其接口简单灵活,很多外围器件均提供了IIC接口,如手机、平板常用的重力传感器、地磁感应、陀螺仪、电容屏接口等均是采用IIC接口的。这些器件采用IIC接口可减少芯片封装的引脚,使之更小型化,同时也可以降低布线难度,这对于手机、平板这些PCB芯片集成度相当高的产品来说是很有必要的。笔者此处就s3c2416的IIC接口应用作一个简单的介绍。 1. IIC总线概述 IIC总线物理上包括两条总线线路,一条串行数据线SDA,一条串行时钟线SCL。为了使各个IIC设备线与相连在总线上,IIC总线接口均采用开
[单片机]
S3C2416裸机开发系列十二_<font color='red'>IIC</font><font color='red'>驱动</font>实现
关于基于STM8S,MPU6050驱动的说明及程序
这个MPU6050使用的是IIC驱动的,而在具体电路图中没有使用STM8S自带的硬件IIC接口,所使用的是模拟IIC, 需要指出的是,在STM8S,IO配置的时候,SDA,对于挂SDA的IO来说,在STM8S的处理器上IO是没有真正的开漏输出功能的, 也就是将该IO配置成开漏输出的时候,IO高低电平输出实际是没有变化的,所以在IO具体输出或者读取状态的时候,必须切换IO模式, 另外需要注意的是,在配置IO的输出模式的时候,最好直接使用寄存器操作,如果使用 g_sda_output(); Handler_G_SDA_L;,也就是库函数操作的话,那么在配置成输出模式之后,并且接下来的代码立即输出高或者低的时候,
[单片机]
MSP432处理器的命名规则
MSP432处理器系列的命名规则: 主要是两个大的系列, E系列(带以太网模块) 和 P系列(带高精度ADC模块) 还可子这么理解,P系列作为MSP430的升级版本(低功耗 + ARM内核); E系列作为 Tiva系列1294的替换版本。
[单片机]
MSP<font color='red'>432</font>处理器的命名规则
MSP432E401的CCS环境配置解决问题
常规项目 安装CCS 在这篇文章写的时候推荐安装CCS10,很奇怪为什么CCS不采用滚动更新,搞得切换很麻烦。CCS10有一些更方便的功能。 安装MSP432Ware 和432 SDK 前者在网站上写着可以在CCS的AppCenter里面安装,但是直接下载安装包效果是一样的。而且我也没找到在CCS里面。还有simplelink SDK,直接在CCS的View里面打开resource explorer可以自动识别板卡,然后下载找到的SDK就行。 这些都很常规。 注意事项 下面是坑爹之处,我是CCSv9,安装的时候没有勾选MSP432的支持,但是这个应该可以从CCS的安装软件里面补充,但是这里还是找不到,通过导入例程的提示知道
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved