找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 3840|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

基于STM32F103ZE+MPU6050+HMC5883L串口2輸出歐拉角以及四元數(shù),數(shù)據(jù)經(jīng)融合校準(zhǔn),Z...

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:125878 發(fā)表于 2019-7-10 10:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
基于STM32F103ZE+MPU6050+HMC5883L串口2輸出歐拉角以及四元數(shù),數(shù)據(jù)經(jīng)融合校準(zhǔn),Z軸無漂移,內(nèi)置串口1函數(shù),可自己修改串口1輸出角度

單片機源程序如下:
  1. /* main.c file
  2. 功能:
  3. 1.初始化各個傳感器,
  4. 2.運行姿態(tài)解算和高度測量
  5. 3.將解算的姿態(tài)和各個傳感器的輸出上傳到 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)時鐘為72M 使用外部8M晶體+PLL*/      
  17.         delay_init(72);                //延時初始化
  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)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:400671 發(fā)表于 2019-9-20 19:02 | 只看該作者
感謝分享,下載下來學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報

板凳
ID:700857 發(fā)表于 2024-12-6 10:19 | 只看該作者
支持學(xué)習(xí)學(xué)習(xí)!!
回復(fù)

使用道具 舉報

地板
ID:1146251 發(fā)表于 2025-3-25 13:29 | 只看該作者
支持學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表