基于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)
|