基于STM32F103ZE+MPU6050+HMC5883L串口2輸出歐拉角以及四元數,數據經融合校準,Z軸無漂移,內置串口1函數,可自己修改串口1輸出角度
單片機源程序如下:
- /* main.c file
- 功能:
- 1.初始化各個傳感器,
- 2.運行姿態解算和高度測量
- 3.將解算的姿態和各個傳感器的輸出上傳到 MiniIMU AHRS 測試軟件
- 4.響應 PC發送的命令
- ------------------------------------
- */
- #include "common.h" //包含所有的驅動 頭文件
-
- extern float X,Y,Z;
- u32 status=0;
- int main(void)
- {
- float ypr[3]; // yaw pitch roll
- /* 配置系統時鐘為72M 使用外部8M晶體+PLL*/
- delay_init(72); //延時初始化
- usart1_init();
- usart2_init();
- load_config(); //從flash中讀取配置信息 -->eeprom.c
- IIC_Init(); //初始化I2C接口
- delay_ms(300); //等待器件上電
- IMU_init(); //初始化IMU和傳感器
- while(1){ //主循環
- IMU_getYawPitchRoll(ypr); //姿態更新
- if(status==1)
- printf("%f %f %f\r\n",ypr[1],ypr[2],ypr[0]);
- }
- }
復制代碼
所有資料51hei提供下載:
mpu6050+hmc5883L.7z
(261.33 KB, 下載次數: 123)
2019-7-15 15:46 上傳
點擊文件名下載附件
|