-
大小: 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_li
目录 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个文件信息
- 上一篇:鄂尔多斯市行政界线
- 下一篇:DC005电源端子AD封装+原理图+使用说明
评论
共有 条评论