标题: MPU6050测角度stm32程序 [打印本页]

作者: 血之殇    时间: 2017-8-10 14:02
标题: MPU6050测角度stm32程序
分享一个别人使用F1mini开发板 使用6050测角度的程序的程序

所有资料51hei提供下载:
程序3 读出数据.rar (406.83 KB, 下载次数: 41)

stm32单片机源程序(主程序)如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"
  5. #include "lcd.h"
  6. #include "key.h"  
  7. #include "MPU6050.h"
  8. #include "myiic.h"
  9. #include "usart.h"
  10. #include "adc.h"
  11. #include "dma.h"
  12. #include "math.h"
  13. #include "inv_mpu.h"
  14. #include "inv_mpu_dmp_motion_driver.h"
  15. //ALIENTEK Mini STM32开发板范例代码19
  16. //IIC实验  
  17.            
  18. u16 table[8]={0};
  19. int main(void)
  20. {         
  21.          u8 t;
  22.          float pitch,roll,yaw;                 //欧拉角
  23.         short aacx,aacy,aacz;                //加速度传感器原始数据
  24.         short gyrox,gyroy,gyroz;        //陀螺仪原始数据
  25.         short temp;
  26.         NVIC_Configuration();
  27.         delay_init();                     //延时函数初始化         
  28.         uart_init(9600);                  //串口初始化为9600
  29.          LCD_Init();                 
  30.         Init_MUP6050();                   //IIC初始化

  31.         while(mpu_dmp_init())
  32.         {
  33.                 LCD_ShowString(30,130,200,16,16,"MPU6050 Error");
  34.                 delay_ms(200);
  35.                 LCD_Fill(30,130,239,130+16,WHITE);
  36.                  delay_ms(200);
  37.         }
  38.         LCD_ShowString(30,130,200,16,16,"MPU6050 OK");
  39.         LCD_ShowString(30,150,200,16,16,"KEY0:UPLOAD ON/OFF");
  40.         POINT_COLOR=BLUE;//设置字体为蓝色
  41.          LCD_ShowString(30,170,200,16,16,"UPLOAD ON ");         
  42.          LCD_ShowString(30,200,200,16,16," Temp:    . C");        
  43.          LCD_ShowString(30,220,200,16,16,"Pitch:    . C");        
  44.          LCD_ShowString(30,240,200,16,16," Roll:    . C");         
  45.          LCD_ShowString(30,260,200,16,16," Yaw :    . C");        
  46.         


  47.         while(1)
  48.         {
  49.         

  50.                 {
  51.                         MPU_Get_Accelerometer(&aacx,&aacy,&aacz);        //得到加速度传感器数据
  52.                         MPU_Get_Gyroscope(&gyrox,&gyroy,&gyroz);        //得到陀螺仪数据
  53.                         mpu_dmp_get_data(&pitch,&roll,&yaw);
  54.                                 
  55.                                 temp=pitch*10;
  56.                                 if(temp<0)
  57.                                 {
  58.                                         LCD_ShowChar(30+48,220,'-',16,0);                //显示负号
  59.                                         temp=-temp;                //转为正数
  60.                                 }else LCD_ShowChar(30+48,220,' ',16,0);                //去掉负号
  61.                                 LCD_ShowNum(30+48+8,220,temp/10,3,16);                //显示整数部分            
  62.                                 LCD_ShowNum(30+48+40,220,temp%10,1,16);                //显示小数部分
  63.                                 
  64.                                  
  65.                                 temp=roll*10;
  66.                                 if(temp<0)
  67.                                 {
  68.                                         LCD_ShowChar(30+48,240,'-',16,0);                //显示负号
  69.                                         temp=-temp;                //转为正数
  70.                                 }else LCD_ShowChar(30+48,240,' ',16,0);                //去掉负号
  71.                                 LCD_ShowNum(30+48+8,240,temp/10,3,16);                //显示整数部分            
  72.                                 LCD_ShowNum(30+48+40,240,temp%10,1,16);                //显示小数部分


  73.                                 temp=yaw*10;
  74.                                 if(temp<0)
  75.                                 {
  76.                                         LCD_ShowChar(30+48,260,'-',16,0);                //显示负号
  77.                                         temp=-temp;                //转为正数
  78.                                 }else LCD_ShowChar(30+48,260,' ',16,0);                //去掉负号
  79.                                 LCD_ShowNum(30+48+8,260,temp/10,3,16);                //显示整数部分            
  80.                                 LCD_ShowNum(30+48+40,260,temp%10,1,16);                //显示小数部分  
  81.                         
  82.                         
  83.                 }
  84.                
  85.         }         

  86. }
复制代码





作者: Cunningboy    时间: 2017-8-10 22:27
这个引脚怎么连接?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1