• 大小: 564KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签: MPU6050DMP  

资源简介

TM4C123G可用的MPU6050全部代码。

资源截图

代码片段和文件信息

///*
//* Function : 本程序学习测试mpu6050 没有DMP
//* Date  : 2016/07/9 start
//* Author  : aceLin
//* FileName : mpu6050_main.c
//* MCU  : TM4C123GH6PM 40PIN(board)
//* Version  : 1.0
//* Breif  : 按键优化不够
//* Updata   : none
//*/

/*=====标准库头文件 =============*/
#include 
#include 

/*===== TivaWare 驱动库头文件====*/
#include 
#include “inc/hw_memmap.h“
#include “inc/hw_types.h“

#include “driverlib/gpio.h“
#include “driverlib/sysctl.h“

#include “driverlib/debug.h“
#include “driverlib/fpu.h“
#include “driverlib/pin_map.h“
#include “driverlib/rom.h“
#include “utils/uartstdio.h“

/*===== 用户头文件 ==========*/
#include “led.h“
#include “key.h“
#include “sys.h“
#include “UART_Init.h“

#include “I2C.h“
#include “mpu6050.h“
#include “mpu6050_firRefi.h“

#include “inv_mpu.h“
#include “inv_mpu_dmp_motion_driver.h“

//*****************************************************************************
//如果驱动程序库遇到错误,则调用错误例程.
#ifdef DEBUG
void
__error__(char *pcFilename uint32_t ui32Line)
{
}
#endif


/*====== 定义全局变量(如果需要的话)=============*/

uint16_t tmp; //温度
short aacxaacyaacz; //加速度传感器原始数据
short gyroxgyroygyroz; //陀螺仪原始数据

float pitchrollyaw;  //欧拉角




/*======此处放函数声明(如果有的话)==============*/
void usart1_niming_report(u8 funu8*datau8 len);
void mpu6050_send_data(short aacxshort aacyshort aaczshort gyroxshort gyroyshort gyroz);
void usart1_report_imu(short aacxshort aacyshort aaczshort gyroxshort gyroyshort gyrozshort rollshort pitchshort yaw);



int main(void){
    //uint32_t i = 0;
uint8_t report=1; //默认开启上报

const int8_t Test_UART_array[]= {“Tiva C TM4C123GH6PM UART TEST!\n“};

    //设置系统时钟:5分频、使用PLL、外接16MHz晶振、使用主振荡器。
//处理器系统时钟为 PLL(400MHz)/2 / SYSCTL(5) = 40MHz
    SysCtlClockSet(SYSCTL_SYSDIV_5|
     SYSCTL_USE_PLL|
SYSCTL_XTAL_16MHZ|
SYSCTL_OSC_MAIN);

    ROM_FPUEnable();
    ROM_FPULazyStackingEnable();

    ConfigureUART(); //#外设# 串口初始化

    /*===基本硬件初始化===*/
    KEY_Init(); //#硬件# 按键初始化
    LED_Init(); //#硬件# LED初始化

    MPU_Init(); //#硬件# 本工程测试内容,MPU6050初始化

    //UARTprintf(Test_UART_array);
    //LED_B_ON();

    /** 第一步,检测器件。这一步成功后面的就都好解决了 ***/
//MPU_Init()函数返回0成功,返回1失败
while(mpu_dmp_init()){//进入while,检测不到MPU6050

//UARTprintf(“MPU6050 Error“);
//UARTprintf(“Please Check!      \n“);

LED_R_ON(); //亮红灯,错误警告
}// end while
    /*** 跳出循环,说明与MPU6050通信正常 ***/
    LED_R_OFF(); //红灯灭,工作正常
    //UARTprintf(“MPU6050 Ready!\n“);
    usart1_send_char(Test_UART_array[1]);

while(1){

if(mpu_dmp_get_data(&pitch&roll&yaw)==0){

//temp=MPU_Get_Temperature(); //得到温度值
MPU_Get_Accelerometer(&aacx&aacy&aacz); //得到加速度传感器数据
MPU_Get_Gyroscope(&gyrox&gyroy&gyroz); //得到陀螺仪数据
if(report)mpu6050_send_data(aacxaacyaaczgyroxgyroygyroz);//用自定义帧发送加速度和陀螺仪原始数据
if(report)usart1_report_imu(aacxaacyaaczgyroxgyroygyroz(int)(roll*100)(int)(pitch*100)(int)(yaw

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         421  2016-07-09 08:39  4_MPU6050_DMP_makeIt\.ccsproject
     文件       33588  2016-07-10 03:21  4_MPU6050_DMP_makeIt\.cproject
     目录           0  2016-07-10 06:04  4_MPU6050_DMP_makeIt\.launches\
     文件        4565  2016-07-09 09:39  4_MPU6050_DMP_makeIt\.launches\GPIO_IN_KEY.launch
     文件        4523  2016-07-07 12:21  4_MPU6050_DMP_makeIt\.launches\hello.launch
     文件        4614  2016-07-10 03:39  4_MPU6050_DMP_makeIt\.launches\MPU6050_DMP_makeIt.launch
     文件        4572  2016-07-09 20:38  4_MPU6050_DMP_makeIt\.launches\test_MPU6050.launch
     文件        4600  2016-07-09 20:56  4_MPU6050_DMP_makeIt\.launches\test_MPU6050_DMP.launch
     文件        4572  2016-07-09 20:03  4_MPU6050_DMP_makeIt\.launches\test_softI2C.launch
     文件        1345  2016-07-10 03:21  4_MPU6050_DMP_makeIt\.project
     目录           0  2016-07-10 06:04  4_MPU6050_DMP_makeIt\Debug\
     文件         460  2016-07-10 05:53  4_MPU6050_DMP_makeIt\Debug\ccsObjs.opt
     文件      123730  2016-07-09 14:20  4_MPU6050_DMP_makeIt\Debug\GPIO_IN_KEY_linkInfo.xml
     目录           0  2016-07-10 06:04  4_MPU6050_DMP_makeIt\Debug\Hardware\
     目录           0  2016-07-10 06:04  4_MPU6050_DMP_makeIt\Debug\Hardware\24Cxx\
     文件        1275  2016-07-09 20:14  4_MPU6050_DMP_makeIt\Debug\Hardware\24Cxx\24Cxx.d
     文件       21492  2016-07-09 20:14  4_MPU6050_DMP_makeIt\Debug\Hardware\24Cxx\24Cxx.obj
     文件        1510  2016-07-09 20:14  4_MPU6050_DMP_makeIt\Debug\Hardware\24Cxx\subdir_rules.mk
     文件         566  2016-07-09 20:14  4_MPU6050_DMP_makeIt\Debug\Hardware\24Cxx\subdir_vars.mk
     目录           0  2016-07-10 06:04  4_MPU6050_DMP_makeIt\Debug\Hardware\DMP\
     文件        3343  2016-07-10 03:37  4_MPU6050_DMP_makeIt\Debug\Hardware\DMP\inv_mpu.d
     文件      174416  2016-07-10 03:37  4_MPU6050_DMP_makeIt\Debug\Hardware\DMP\inv_mpu.obj
     文件        3267  2016-07-10 03:38  4_MPU6050_DMP_makeIt\Debug\Hardware\DMP\inv_mpu_dmp_motion_driver.d
     文件      124336  2016-07-10 03:38  4_MPU6050_DMP_makeIt\Debug\Hardware\DMP\inv_mpu_dmp_motion_driver.obj
     文件        2861  2016-07-10 05:53  4_MPU6050_DMP_makeIt\Debug\Hardware\DMP\subdir_rules.mk
     文件         844  2016-07-10 05:53  4_MPU6050_DMP_makeIt\Debug\Hardware\DMP\subdir_vars.mk
     目录           0  2016-07-10 06:04  4_MPU6050_DMP_makeIt\Debug\Hardware\I2C\
     文件        1105  2016-07-10 03:39  4_MPU6050_DMP_makeIt\Debug\Hardware\I2C\I2C.d
     文件       21828  2016-07-10 03:39  4_MPU6050_DMP_makeIt\Debug\Hardware\I2C\I2C.obj
     文件        1536  2016-07-10 05:53  4_MPU6050_DMP_makeIt\Debug\Hardware\I2C\subdir_rules.mk
     文件         542  2016-07-10 05:53  4_MPU6050_DMP_makeIt\Debug\Hardware\I2C\subdir_vars.mk
............此处省略89个文件信息

评论

共有 条评论