標題:
STM32-MPU6050陀螺儀(硬件IIC)程序
[打印本頁]
作者:
luluyao
時間:
2019-3-9 16:35
標題:
STM32-MPU6050陀螺儀(硬件IIC)程序
單片機源程序如下:
#include "public.h"
#include "USART.h"
#include "MPU6050.h"
#include "TIM.h"
#include "Filter.h"
MPU_TypeDef MPU_Offset,MPU0;
MPU_Angle_TypeDef MPU_Angle0;
Angle_TypeDef Angle_Final;
Angle_TypeDef Angle_CMP1,Angle_CMP2,Angle_CMP3,Angle_CMP4,Angle_CMP5;
extern Filter_Kalman_TypeDef K1,K2;
int main()
{
SystemInit();
Printf_Init(57600); //串口打印
MPU6050_Init(); //陀螺儀初始化
printf("Waitting....");
delay_ms(1000); //延時1000ms
printf("OK..........");
GetData_MPU(&MPU_Offset); //消除陀螺儀偏差
Time_Init(TIM_3,12); //開啟10ms定時器
Kalman_Init(&K1);
Kalman_Init(&K2);
while(1)
{
// printf("%2.4lf,%2.4lf\r\n",Angle_Final.Pitch,Angle_Final.Roll);
printf("%2.4lf,%2.4lf,%2.4lf,%2.4lf,%2.4lf,%2.4lf,%2.4lf,%2.4lf,%2.4lf\r\n",Angle_CMP1.Pitch,Angle_CMP2.Pitch,Angle_CMP3.Pitch,Angle_CMP4.Pitch,Angle_CMP5.Pitch,Angle_CMP1.Roll,Angle_CMP2.Roll,Angle_CMP3.Roll,Angle_CMP4.Roll);
// GetData_MPU(&MPU0);
// printf("Pitch:%d\t",MPU0.GYRx);
// printf("Roll: %d\t",MPU0.GYRy);
// printf("Yaw: %d\t",MPU0.GYRz);
// GetData_MPU_Angle(&MPU_Angle0);
// printf("%2.4lf\t",MPU_Angle0.ACC_Pitch);
// printf("%2.4lf\t",MPU_Angle0.ACC_Roll);
// printf("Pitch:%2.4lf\t",MPU_Angle0.GYR_Pitch);
// printf("Roll: %2.4lf\t",MPU_Angle0.GYR_Roll);
// printf("Yaw: %2.4lf\t",MPU_Angle0.GYR_Yaw);
// printf("\r\n");
// printf("%2.4lf %2.4lf %2.4lf %2.4lf %2.4lf \n",MPU_Angle0.ACC_Pitch,MPU_Angle0.ACC_Roll,MPU_Angle0.GYR_Pitch,MPU_Angle0.GYR_Roll,MPU_Angle0.GYR_Yaw);
// delay_ms(1000);
}
}
復制代碼
所有資料51hei提供下載:
A3.MPU605陀螺儀(硬件IIC).7z
(207.4 KB, 下載次數(shù): 111)
2019-3-11 00:27 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
米羅破曉
時間:
2019-6-11 20:10
為什么我用就不通
作者:
米羅破曉
時間:
2019-6-27 20:08
怎么用你的硬件IIc實現(xiàn)從機功能
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1