標(biāo)題: 基于STM32F103ZE+MPU6050+HMC5883L串口2輸出歐拉角以及四元數(shù),數(shù)據(jù)經(jīng)融合校準(zhǔn),Z... [打印本頁]

作者: 461534727    時(shí)間: 2019-7-10 10:52
標(biāo)題: 基于STM32F103ZE+MPU6050+HMC5883L串口2輸出歐拉角以及四元數(shù),數(shù)據(jù)經(jīng)融合校準(zhǔn),Z...
基于STM32F103ZE+MPU6050+HMC5883L串口2輸出歐拉角以及四元數(shù),數(shù)據(jù)經(jīng)融合校準(zhǔn),Z軸無漂移,內(nèi)置串口1函數(shù),可自己修改串口1輸出角度

單片機(jī)源程序如下:
  1. /* main.c file
  2. 功能:
  3. 1.初始化各個(gè)傳感器,
  4. 2.運(yùn)行姿態(tài)解算和高度測量
  5. 3.將解算的姿態(tài)和各個(gè)傳感器的輸出上傳到 MiniIMU AHRS 測試軟件
  6. 4.響應(yīng) PC發(fā)送的命令
  7. ------------------------------------
  8. */

  9. #include "common.h"  //包含所有的驅(qū)動 頭文件
  10.             
  11. extern float X,Y,Z;   
  12. u32 status=0;
  13. int main(void)
  14. {         
  15.         float ypr[3]; // yaw pitch roll
  16.         /* 配置系統(tǒng)時(shí)鐘為72M 使用外部8M晶體+PLL*/      
  17.         delay_init(72);                //延時(shí)初始化
  18.         usart1_init();
  19.   usart2_init();
  20.         load_config();  //從flash中讀取配置信息 -->eeprom.c
  21.         IIC_Init();         //初始化I2C接口
  22.         delay_ms(300);        //等待器件上電
  23.         IMU_init(); //初始化IMU和傳感器
  24.         while(1){        //主循環(huán)
  25.         IMU_getYawPitchRoll(ypr); //姿態(tài)更新
  26.                 if(status==1)
  27.    printf("%f %f %f\r\n",ypr[1],ypr[2],ypr[0]);
  28.         }
  29. }         
復(fù)制代碼

所有資料51hei提供下載:
mpu6050+hmc5883L.7z (261.33 KB, 下載次數(shù): 123)



作者: 660022    時(shí)間: 2019-9-20 19:02
感謝分享,下載下來學(xué)習(xí)學(xué)習(xí)
作者: i的其實(shí)很愛你    時(shí)間: 2024-12-6 10:19
支持學(xué)習(xí)學(xué)習(xí)!
作者: 強(qiáng)強(qiáng)強(qiáng)強(qiáng)11112    時(shí)間: 2025-3-25 13:29
支持學(xué)習(xí)學(xué)習(xí)





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1