MPU9250傳感器三軸加速度與三軸角速度值讀取demo, 讀取后的各個方向的值均通過串口打印輸出, 供大家學習參考!
51hei圖片_20200424151530.png (27.14 KB, 下載次數: 56)
下載附件
串口輸出的數據
2020-4-24 15:15 上傳
單片機源程序如下:
- #include "uartdebug.h"
- #include "Timer_Int.h"
- #include "mpu9250.h"
- #include "stdio.h"
- //宏常量與設置
- //全局變量聲明
- short Accx_AD, Accy_AD, Accz_AD; //加速度計三個軸的測量值;
- short Gyrx_AD, Gyry_AD, Gyrz_AD; //陀螺儀三個軸的角速度
- xdata float Accx, Accy, Accz; //各方向上加速度實際量
- xdata float Gyrx, Gyry, Gyrz; //各方向上的角速度實際量
- xdata uint8_t strbuf[15]; //字符緩沖區,用于串口輸出測量值
- //模塊內部的子函數聲明
- //主函數--模板范例
- void main(){
- UartInit();//調試輸出的串口的初始化
- Timer_Init(); //定時器初始化
- Mpu9250_Init(); //MPU9250初始化
- while(1){
- if(!TimerC_1s){
- TimerC_1s=1;
-
- Accx_AD=GetData(ACCEL_XOUT_H); //加速度計三個軸方向上的AD測量值
- Accy_AD=GetData(ACCEL_YOUT_H);
- Accz_AD=GetData(ACCEL_ZOUT_H);
- Gyrx_AD=GetData(GYRO_XOUT_H); //陀螺儀三個軸的角速度AD值
- Gyry_AD=GetData(GYRO_YOUT_H);
- Gyrz_AD=GetData(GYRO_ZOUT_H);
- Accx=Accx_AD/8192.0; //各方向的實際值以g為單位, 分辨率為8192 LSB/g
- Accy=Accy_AD/8192.0;
- Accz=Accz_AD/8192.0;
- Gyrx=Gyrx_AD/16.384; //單位為角度;
- Gyry=Gyry_AD/16.384;
- Gyrz=Gyrz_AD/16.384;
-
- /***** 串口送出相關的測量結果值 ******/
- UartTxString("Acceler( g)\r\n");
- sprintf(strbuf, "x:%.3f\t", Accx);
- UartTxString(strbuf);
- sprintf(strbuf, "y:%.3f\t", Accy);
- UartTxString(strbuf);
- sprintf(strbuf, "z:%.3f\r\n", Accz);
- UartTxString(strbuf);
-
- UartTxString("Gyroer( deg/s)\r\n");
- sprintf(strbuf, "x:%.3f\t", Gyrx);
- UartTxString(strbuf);
- sprintf(strbuf, "y:%.3f\t", Gyry);
- UartTxString(strbuf);
- sprintf(strbuf, "z:%.3f\r\n\r\n", Gyrz);
- UartTxString(strbuf);
-
- }
- // do... continue!
- ;
- }
- }
復制代碼
所有資料51hei提供下載:
2020年4月21日_MPU9250三軸讀取.rar
(77.96 KB, 下載次數: 72)
2020-4-24 15:15 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|