久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

MPU6050 S9KEA128AMLK GPIO模擬程序 串口輸出

[復(fù)制鏈接]
ID:308505 發(fā)表于 2018-7-8 20:03 | 顯示全部樓層 |閱讀模式
S9KEA128AMLK串口輸出模擬程序
0.png
單片機(jī)源程序如下:
  1. #include"MPU6050.h"
  2. #include "soft_i2c.h"


  3. //寄存器讀寫(xiě)函數(shù)
  4. #define MUP_WR(reg,data)    soft_i2c_write_reg(MPU6050_DEV_ADDR,reg,data)
  5. #define MUP_RD(reg)         soft_i2c_read_reg(MPU6050_DEV_ADDR,reg,IIC)



  6. #define        MPU6050_DEV_ADDR            0xD0>>1        //IIC寫(xiě)入時(shí)的地址字節(jié)數(shù)據(jù),+1為讀取

  7. //****************************************
  8. // 定義MPU6050內(nèi)部地址
  9. //****************************************
  10. #define        SMPLRT_DIV                0x19        //陀螺儀采樣率,典型值:0x07(125Hz)
  11. #define        CONFIG                    0x1A        //低通濾波頻率,典型值:0x06(5Hz)
  12. #define        GYRO_CONFIG                0x1B        //陀螺儀自檢及測(cè)量范圍,典型值:0x18(不自檢,2000deg/s)
  13. #define        ACCEL_CONFIG        0x1C        //加速計(jì)自檢、測(cè)量范圍及高通濾波頻率,典型值:0x01(不自檢,2G,5Hz)
  14. #define        ACCEL_XOUT_H        0x3B
  15. #define        ACCEL_XOUT_L        0x3C
  16. #define        ACCEL_YOUT_H        0x3D
  17. #define        ACCEL_YOUT_L        0x3E
  18. #define        ACCEL_ZOUT_H        0x3F
  19. #define        ACCEL_ZOUT_L        0x40

  20. #define        GYRO_XOUT_H                0x43
  21. #define        GYRO_XOUT_L                0x44
  22. #define        GYRO_YOUT_H                0x45
  23. #define        GYRO_YOUT_L                0x46
  24. #define        GYRO_ZOUT_H                0x47
  25. #define        GYRO_ZOUT_L                0x48
  26. #define        PWR_MGMT_1                0x6B        //電源管理,典型值:0x00(正常啟用)
  27. #define        WHO_AM_I                        0x75        //IIC地址寄存器(默認(rèn)數(shù)值0x68,只讀)
  28. #define        SlaveAddress            0xD0        //IIC寫(xiě)入時(shí)的地址字節(jié)數(shù)據(jù),+1為讀取



  29. int16 mpu_gyro_x,mpu_gyro_y,mpu_gyro_z;
  30. int16 mpu_acc_x,mpu_acc_y,mpu_acc_z;

  31. void main_test(void)
  32. {
  33.     InitMPU6050();

  34.     //在線調(diào)試查看mpu_gyro_x mpu_gyro_y mpu_gyro_z mpu_acc_x mpu_acc_y mpu_acc_z三個(gè)變量即可
  35.     for(;;)
  36.     {
  37.         //采集MPU6050數(shù)據(jù)
  38.         Get_Gyro();
  39.         Get_AccData();
  40.         
  41.         printf("mpu_gyro_x=%d\n",mpu_gyro_x);
  42.         printf("mpu_gyro_y=%d\n",mpu_gyro_y);
  43.         printf("mpu_gyro_z=%d\n\n",mpu_gyro_z);
  44.         
  45.         printf("mpu_acc_x=%d\n",mpu_acc_x);
  46.         printf("mpu_acc_y=%d\n",mpu_acc_y);
  47.         printf("mpu_acc_z=%d\n\n",mpu_acc_z);
  48.         
  49.         systick_delay_ms(30);//延時(shí)30ms

  50.     }
  51. }


  52. //**************************************
  53. //初始化MPU6050
  54. //**************************************
  55. void InitMPU6050(void)
  56. {
  57.     soft_i2c_init();


  58.         MUP_WR(PWR_MGMT_1, 0x00);        //解除休眠狀態(tài)
  59.         MUP_WR(SMPLRT_DIV, 0x07);
  60.         MUP_WR(CONFIG, 0x06);
  61.         MUP_WR(GYRO_CONFIG, 0x18);
  62.         MUP_WR(ACCEL_CONFIG, 0x10);
  63. }

  64. //-------------------------------------------------------------------------------------------------------------------
  65. //  @brief      獲取MPU6050加速度計(jì)數(shù)據(jù)
  66. //  @param      NULL
  67. //  @return     void
  68. //  @since      v1.0
  69. //  Sample usage:                                執(zhí)行該函數(shù)后,直接查看對(duì)應(yīng)的變量即可
  70. //-------------------------------------------------------------------------------------------------------------------
  71. void Get_AccData(void)
  72. {
  73.     uint8 dat[6];
  74.    
  75.     soft_i2c_read_regs(MPU6050_DEV_ADDR, ACCEL_XOUT_H, dat, 6, IIC);  
  76.     mpu_acc_x = (int16)(((uint16)dat[0]<<8 | dat[1]));
  77.     mpu_acc_y = (int16)(((uint16)dat[2]<<8 | dat[3]));
  78.     mpu_acc_z = (int16)(((uint16)dat[4]<<8 | dat[5]));
  79. }


  80. //-------------------------------------------------------------------------------------------------------------------
  81. //  @brief      獲取MPU6050陀螺儀數(shù)據(jù)
  82. //  @param      NULL
  83. //  @return     void
  84. //  @since      v1.0
  85. //  Sample usage:                                執(zhí)行該函數(shù)后,直接查看對(duì)應(yīng)的變量即可
  86. //-------------------------------------------------------------------------------------------------------------------
  87. void Get_Gyro(void)
  88. {
  89.     uint8 dat[6];
  90.    
  91.     soft_i2c_read_regs(MPU6050_DEV_ADDR, GYRO_XOUT_H, dat, 6, IIC);  
  92.     mpu_gyro_x = (int16)(((uint16)dat[0]<<8 | dat[1]));
  93.     mpu_gyro_y = (int16)(((uint16)dat[2]<<8 | dat[3]));
  94.     mpu_gyro_z = (int16)(((uint16)dat[4]<<8 | dat[5]));
  95. }



復(fù)制代碼

所有資料51hei提供下載:
KEA_MPU6050_App.rar (4.72 KB, 下載次數(shù): 20)


回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 免费观看av| 亚洲精品字幕在线观看 | 免费看一级黄色片 | 天天操天天看 | 亚洲视频在线播放 | 日韩中文在线视频 | 欧美精品久久久久久 | 男女啪啪免费视频 | 黄色av毛片| 欧美日韩视频 | 国产精品99久久久久久久久久久久 | 极品美女一区二区三区 | 黄色三级视频 | 免费黄色网址在线观看 | 欧美一级在线视频 | 涩涩视频免费看 | 成人av一区二区三区在线观看 | 精品一二三 | 久久久久女人精品毛片九一 | 人人爽人人爽人人片av | 精品一区久久 | 簧片在线免费观看 | 一区二区三区视频在线播放 | 伊人久久久 | 久久青| 黄色激情视频在线观看 | 欧美日韩在线视频观看 | 欧美色偷偷 | 91精品国产成人www | 亚洲一级大片 | 久久精品黄色 | 中国特级毛片 | 人人澡人人爽 | 肉丝美脚视频一区二区 | 成人精品免费 | 91亚洲国产成人久久精品网站 | 一级特黄aaaaaa大片 | 少妇高潮露脸国语对白 | 久久精品亚洲 | 成人午夜在线观看 | 国产成人免费视频 |