找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2972|回复: 1
收起左侧

MPU9250三轴加速度与三轴角速度读取demo源程序

[复制链接]
ID:361734 发表于 2020-4-24 15:16 | 显示全部楼层 |阅读模式
MPU9250传感器三轴加速度与三轴角速度值读取demo, 读取后的各个方向的值均通过串口打印输出, 供大家学习参考!

串口输出的数据

串口输出的数据


单片机源程序如下:
  1. #include "uartdebug.h"
  2. #include "Timer_Int.h"
  3. #include "mpu9250.h"
  4. #include "stdio.h"

  5. //宏常量与设置

  6. //全局变量声明
  7. short Accx_AD, Accy_AD, Accz_AD; //加速度计三个轴的测量值;
  8. short Gyrx_AD, Gyry_AD, Gyrz_AD; //陀螺仪三个轴的角速度
  9. xdata float Accx, Accy, Accz; //各方向上加速度实际量
  10. xdata float Gyrx, Gyry, Gyrz; //各方向上的角速度实际量
  11. xdata uint8_t strbuf[15]; //字符缓冲区,用于串口输出测量值

  12. //模块内部的子函数声明

  13. //主函数--模板范例
  14. void main(){
  15.         UartInit();//调试输出的串口的初始化
  16.         Timer_Init(); //定时器初始化
  17.         Mpu9250_Init(); //MPU9250初始化
  18.         while(1){
  19.                 if(!TimerC_1s){
  20.                         TimerC_1s=1;
  21.                        
  22.                         Accx_AD=GetData(ACCEL_XOUT_H); //加速度计三个轴方向上的AD测量值
  23.                         Accy_AD=GetData(ACCEL_YOUT_H);
  24.                         Accz_AD=GetData(ACCEL_ZOUT_H);
  25.                         Gyrx_AD=GetData(GYRO_XOUT_H); //陀螺仪三个轴的角速度AD值
  26.                         Gyry_AD=GetData(GYRO_YOUT_H);
  27.                         Gyrz_AD=GetData(GYRO_ZOUT_H);
  28.                         Accx=Accx_AD/8192.0; //各方向的实际值以g为单位, 分辨率为8192 LSB/g
  29.                         Accy=Accy_AD/8192.0;
  30.                         Accz=Accz_AD/8192.0;
  31.                         Gyrx=Gyrx_AD/16.384; //单位为角度;
  32.                         Gyry=Gyry_AD/16.384;
  33.                         Gyrz=Gyrz_AD/16.384;
  34.                        
  35.                         /***** 串口送出相关的测量结果值 ******/
  36.                         UartTxString("Acceler( g)\r\n");
  37.                         sprintf(strbuf, "x:%.3f\t", Accx);
  38.                         UartTxString(strbuf);
  39.                         sprintf(strbuf, "y:%.3f\t", Accy);
  40.                         UartTxString(strbuf);
  41.                         sprintf(strbuf, "z:%.3f\r\n", Accz);
  42.                         UartTxString(strbuf);
  43.                        
  44.                         UartTxString("Gyroer(  deg/s)\r\n");
  45.                         sprintf(strbuf, "x:%.3f\t", Gyrx);
  46.                         UartTxString(strbuf);
  47.                         sprintf(strbuf, "y:%.3f\t", Gyry);
  48.                         UartTxString(strbuf);
  49.                         sprintf(strbuf, "z:%.3f\r\n\r\n", Gyrz);
  50.                         UartTxString(strbuf);
  51.                        
  52.                 }
  53.                 // do... continue!
  54.                 ;
  55.         }
  56. }
复制代码

所有资料51hei提供下载:
2020年4月21日_MPU9250三轴读取.rar (77.96 KB, 下载次数: 70)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:524013 发表于 2020-4-27 10:45 | 显示全部楼层
学习到了 感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表