找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4927|回復(fù): 1
收起左側(cè)

STM32 MPU6050獲取加速度角速度代碼

[復(fù)制鏈接]
ID:451633 發(fā)表于 2018-12-27 14:06 | 顯示全部樓層 |閱讀模式
MPU6050三軸陀螺儀通過IIC讀取獲取角速度及加速度代碼

單片機(jī)源程序如下:
  1. //連接方式 :請參考interface.h文件
  2. //部份源碼來源網(wǎng)絡(luò)--請試用24小時后刪除
  3. #include "stm32f10x.h"
  4. #include "interface.h"
  5. #include "LCD1602.h"
  6. #include "IRCtrol.h"
  7. #include "motor.h"
  8. #include "UltrasonicCtrol.h"
  9. #include "redvoid.h"
  10. #include "Usart_Interrupt.h"
  11. #include "stm32f10x_i2c.h"
  12. #include "MPU_IIC.h"
  13. #include "uart.h"
  14. #include "usart.h"

  15. u8 pBuffer;
  16. u8* ppBuffer;
  17. s16 AccelGyro[7]={0};

  18. unsigned char  cmd_flag = 0;
  19. unsigned char testbuf[5]="abcdf";

  20. //全局變量定義
  21. unsigned int speed_count=0;//占空比計數(shù)器 50次一周期
  22. char front_left_speed_duty=SPEED_DUTY;
  23. char front_right_speed_duty=SPEED_DUTY;
  24. char behind_left_speed_duty=SPEED_DUTY;
  25. char behind_right_speed_duty=SPEED_DUTY;

  26. unsigned char tick_5ms = 0;//5ms計數(shù)器,作為主函數(shù)的基本周期
  27. unsigned char tick_1ms = 0;//1ms計數(shù)器,作為電機(jī)的基本計數(shù)器
  28. unsigned char tick_200ms = 0;//刷新顯示

  29. char ctrl_comm = COMM_STOP;//控制指令
  30. char ctrl_comm_last = COMM_STOP;//上一次的指令
  31. unsigned char continue_time=0;


  32. int main(void)
  33. {       
  34.         delay_init();
  35.         USART1Conf(115200);
  36. //        printf("MPU6050 test1--->\n");
  37.   I2C_MPU6050_Init();
  38. //        printf("MPU6050 test2--->\n");
  39.         MPU6050_IniTIalize();
  40. //        printf("MPU6050 test3--->\n");
  41.         while(1)
  42.         {
  43.                 //MPU6050_I2C_ByteWrite(SlaveAdress,pBuffer,0x68);
  44.                 //MPU6050_I2C_ByteWrite(u8 slaveAddr, u8 pBuffer, u8 writeAddr)
  45.                 //MPU6050_I2C_BufferRead(SlaveAdress,ppBuffer,0x68,8);//NumByteToRead?
  46.                 //MPU6050_I2C_BufferRead(u8 slaveAddr, u8* pBuffer, u8 readAddr, u16 NumByteToRead)
  47.                 MPU6050_GetRawAccelGyro(AccelGyro);
  48.                
  49.                 printf("MPU6050 test3--->\r\n");
  50. //                printf("ACC_X = %10.5d\r\n",AccelGyro[0]);
  51. //                printf("ACC_Y = %10.5d\r\n",AccelGyro[1]);
  52. //                printf("ACC_Z = %10.5d\r\n",AccelGyro[2]);
  53. //                printf("GYRO_X = %10.5d\r\n",AccelGyro[3]);
  54. //                printf("GYRO_Y = %10.5d\r\n",AccelGyro[4]);
  55. //                printf("GYRO_Z = %10.5d\r\n",AccelGyro[5]);
  56.                
  57.                 printf("ACC_X = %d\r\n",AccelGyro[0]);
  58.                 printf("ACC_Y = %d\r\n",AccelGyro[1]);
  59.                 printf("ACC_Z = %d\r\n",AccelGyro[2]);
  60.                 printf("GYRO_X = %d\r\n",AccelGyro[3]);
  61.                 printf("GYRO_Y = %d\r\n",AccelGyro[4]);
  62.                 printf("GYRO_Z = %d\r\n",AccelGyro[5]);
  63.                 Delay_us(500000);
  64.                

  65.         }
  66. }
復(fù)制代碼

所有資料51hei提供下載:
MPU6050.7z (190.45 KB, 下載次數(shù): 84)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:603102 發(fā)表于 2019-8-23 15:52 | 顯示全部樓層
AccelGyro前三個代表的是xyz軸上的加速度嗎?
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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