吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32入門學習筆記之MPU6050傳感器解析實驗3

jf_78858299 ? 來源:滑小稽筆記 ? 作者:電子技術園地 ? 2023-02-16 14:54 ? 次閱讀

(5) 陀螺儀采樣率分頻寄存器 (地址:0x19)

7 6 5 4 3 2 1 0
SMPLRT_DIV[7:0]

采樣頻率=陀螺儀輸出頻率/(1+SMPLRT_DIV)

(6) 配置寄存器 (地址:0x1A)

7 6 5 4 3 2 1 0
- - EXT_SYNC_SET[2:0] DLPF_CFG[2:0]

Bit 5~Bit 3:該段內的值確定采樣的值將代替傳感器數(shù)據(jù)寄存器中的最低有效位

0:輸入禁用

1:TEMP_OUT_L寄存器第0位

2:GYRO_XOUT_L寄存器第0位

3:GYRO_YOUT_L寄存器第0位

4:GYRO_ZOUT_L寄存器第0位

5:ACCEL_XOUT_L寄存器第0位

6:ACCEL _YOUT_L寄存器第0位

7:ACCEL _ZOUT_L寄存器第0位

Bit 2~Bit 0:低通濾波器設置

加速度傳感器(Fs=1kHz) 角速度傳感器
帶寬(Hz) 延遲(ms) 帶寬(Hz)
000 260 0
001 184 2.0
010 94 3.0
011 44 4.9
100 21 8.5
101 10 13.8
110 5 19.0
111 保留 保留

(7) 電源管理寄存器2 (地址:0x6C)

7 6 5 4 3 2 1 0
LP_WAKE_CTRL[1:0] STBY_XA STBY_YA STBY_ZA STBY_XG STBY_YG XTBY_ZG

Bit 7~Bit 6:低功耗模式下的喚醒頻率

0:1.25Hz

1:5Hz

2:20Hz

3:40Hz

Bit 5:X軸加速度待機模式

0:禁用

1:啟用

Bit 4:Y軸加速度待機模式

0:禁用

1:啟用

Bit 3:Z軸加速度待機模式

0:禁用

1:啟用

Bit 2:X軸陀螺儀待機模式

0:禁用

1:啟用

Bit 1:Y軸陀螺儀待機模式

0:禁用

1:啟用

Bit 0:Z軸陀螺儀待機模式

0:禁用

1:啟用

19.3.2 源代碼

(1)創(chuàng)建mpu6050.h文件,輸入以下代碼。

/*********************************************************************************************************
                MUP6050    驅    動    文    件
*********************************************************************************************************/
#ifndef _MPU6050_H_
#define _MPU6050_H_


#include "sys.h"
/*********************************************************************************************************
                硬    件    端    口    定    義
*********************************************************************************************************/
#define MPU_IIC_SCL    PBout( 10)                                    //SCL
#define MPU_IIC_SDA    PBout( 11 )                                    //SDA
#define MPU_READ_SDA  PBin( 11 )                                    //輸入SDA
#define MPU_AD0_CTRL  PAout( 15 )                                    //控制AD0電平,從而控制MPU地址
/*********************************************************************************************************
                數(shù)    據(jù)    結    構    定    義
*********************************************************************************************************/
//如果AD0腳(9腳)接地,IIC地址為0X68(不包含最低位)
//如果接V3.3,則IIC地址為0X69(不包含最低位)
#define MPU_ADDR        0X68


#define MPU_ACCEL_OFFS_REG    0X06  //accel_offs寄存器,可讀取版本號,寄存器手冊未提到
#define MPU_PROD_ID_REG      0X0C  //prod id寄存器,在寄存器手冊未提到
#define MPU_SELF_TESTX_REG    0X0D  //自檢寄存器X
#define MPU_SELF_TESTY_REG    0X0E  //自檢寄存器Y
#define MPU_SELF_TESTZ_REG    0X0F  //自檢寄存器Z
#define MPU_SELF_TESTA_REG    0X10  //自檢寄存器A
#define MPU_SAMPLE_RATE_REG    0X19  //采樣頻率分頻器
#define MPU_CFG_REG        0X1A  //配置寄存器
#define MPU_GYRO_CFG_REG    0X1B  //陀螺儀配置寄存器
#define MPU_ACCEL_CFG_REG    0X1C  //加速度計配置寄存器
#define MPU_MOTION_DET_REG    0X1F  //運動檢測閥值設置寄存器
#define MPU_FIFO_EN_REG      0X23  //FIFO使能寄存器
#define MPU_I2CMST_CTRL_REG    0X24  //IIC主機控制寄存器
#define MPU_I2CSLV0_ADDR_REG  0X25  //IIC從機0器件地址寄存器
#define MPU_I2CSLV0_REG      0X26  //IIC從機0數(shù)據(jù)地址寄存器
#define MPU_I2CSLV0_CTRL_REG  0X27  //IIC從機0控制寄存器
#define MPU_I2CSLV1_ADDR_REG  0X28  //IIC從機1器件地址寄存器
#define MPU_I2CSLV1_REG      0X29  //IIC從機1數(shù)據(jù)地址寄存器
#define MPU_I2CSLV1_CTRL_REG  0X2A  //IIC從機1控制寄存器
#define MPU_I2CSLV2_ADDR_REG  0X2B  //IIC從機2器件地址寄存器
#define MPU_I2CSLV2_REG      0X2C  //IIC從機2數(shù)據(jù)地址寄存器
#define MPU_I2CSLV2_CTRL_REG  0X2D  //IIC從機2控制寄存器
#define MPU_I2CSLV3_ADDR_REG  0X2E  //IIC從機3器件地址寄存器
#define MPU_I2CSLV3_REG      0X2F  //IIC從機3數(shù)據(jù)地址寄存器
#define MPU_I2CSLV3_CTRL_REG  0X30  //IIC從機3控制寄存器
#define MPU_I2CSLV4_ADDR_REG  0X31  //IIC從機4器件地址寄存器
#define MPU_I2CSLV4_REG      0X32  //IIC從機4數(shù)據(jù)地址寄存器
#define MPU_I2CSLV4_DO_REG    0X33  //IIC從機4寫數(shù)據(jù)寄存器
#define MPU_I2CSLV4_CTRL_REG  0X34  //IIC從機4控制寄存器
#define MPU_I2CSLV4_DI_REG    0X35  //IIC從機4讀數(shù)據(jù)寄存器


#define MPU_I2CMST_STA_REG    0X36  //IIC主機狀態(tài)寄存器
#define MPU_INTBP_CFG_REG    0X37  //中斷/旁路設置寄存器
#define MPU_INT_EN_REG      0X38  //中斷使能寄存器
#define MPU_INT_STA_REG      0X3A  //中斷狀態(tài)寄存器


#define MPU_ACCEL_XOUTH_REG    0X3B  //加速度值,X軸高8位寄存器
#define MPU_ACCEL_XOUTL_REG    0X3C  //加速度值,X軸低8位寄存器
#define MPU_ACCEL_YOUTH_REG    0X3D  //加速度值,Y軸高8位寄存器
#define MPU_ACCEL_YOUTL_REG    0X3E  //加速度值,Y軸低8位寄存器
#define MPU_ACCEL_ZOUTH_REG    0X3F  //加速度值,Z軸高8位寄存器
#define MPU_ACCEL_ZOUTL_REG    0X40  //加速度值,Z軸低8位寄存器


#define MPU_TEMP_OUTH_REG    0X41  //溫度值高八位寄存器
#define MPU_TEMP_OUTL_REG    0X42  //溫度值低8位寄存器


#define MPU_GYRO_XOUTH_REG    0X43  //陀螺儀值,X軸高8位寄存器
#define MPU_GYRO_XOUTL_REG    0X44  //陀螺儀值,X軸低8位寄存器
#define MPU_GYRO_YOUTH_REG    0X45  //陀螺儀值,Y軸高8位寄存器
#define MPU_GYRO_YOUTL_REG    0X46  //陀螺儀值,Y軸低8位寄存器
#define MPU_GYRO_ZOUTH_REG    0X47  //陀螺儀值,Z軸高8位寄存器
#define MPU_GYRO_ZOUTL_REG    0X48  //陀螺儀值,Z軸低8位寄存器


#define MPU_I2CSLV0_DO_REG    0X63  //IIC從機0數(shù)據(jù)寄存器
#define MPU_I2CSLV1_DO_REG    0X64  //IIC從機1數(shù)據(jù)寄存器
#define MPU_I2CSLV2_DO_REG    0X65  //IIC從機2數(shù)據(jù)寄存器
#define MPU_I2CSLV3_DO_REG    0X66  //IIC從機3數(shù)據(jù)寄存器


#define MPU_I2CMST_DELAY_REG  0X67  //IIC主機延時管理寄存器
#define MPU_SIGPATH_RST_REG    0X68  //信號通道復位寄存器
#define MPU_MDETECT_CTRL_REG  0X69  //運動檢測控制寄存器
#define MPU_USER_CTRL_REG    0X6A  //用戶控制寄存器
#define MPU_PWR_MGMT1_REG    0X6B  //電源管理寄存器1
#define MPU_PWR_MGMT2_REG    0X6C  //電源管理寄存器2 
#define MPU_FIFO_CNTH_REG    0X72  //FIFO計數(shù)寄存器高八位
#define MPU_FIFO_CNTL_REG    0X73  //FIFO計數(shù)寄存器低八位
#define MPU_FIFO_RW_REG      0X74  //FIFO讀寫寄存器
#define MPU_DEVICE_ID_REG    0X75  //器件ID寄存器
/*********************************************************************************************************
                    函    數(shù)    列    表
*********************************************************************************************************/
void MPU_IIC_Init( void ) ;                                        //初始化IIC
u8 MPU_Init( void ) ;                                          //初始化MPU6050
u8 MPU_Read_Len( u8 addr, u8 reg, u8 len, u8 *buf ) ;                          //IIC連續(xù)讀
u8 MPU_Write_Len( u8 addr, u8 reg, u8 len, u8 *buf ) ;                          //IIC連續(xù)寫
short MPU_Get_Temperature( void ) ;                                    //獲取溫度
u8 MPU_Get_Gyroscope( short *gx, short *gy, short *gz ) ;                        //獲取陀螺儀值
u8 MPU_Get_Accelerometer( short *ax, short *ay, short *az ) ;                      //獲取加速度值


#endif
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2553

    文章

    51390

    瀏覽量

    756571
  • 處理器
    +關注

    關注

    68

    文章

    19407

    瀏覽量

    231181
  • MPU6050
    +關注

    關注

    39

    文章

    307

    瀏覽量

    71662
收藏 人收藏

    評論

    相關推薦

    STM32控制MPU6050使用說明

    STM32 控制MPU6050使用說明 mpu6050是陀螺儀、加速計和一個可擴展的傳根RM-MPU
    發(fā)表于 07-02 08:05

    STM32控制MPU6050使用說明

    STM32 控制MPU6050使用說明 mpu6050是陀螺儀、加速計和一個可擴展的傳根RM-MPU
    發(fā)表于 07-06 02:25

    基于stm32mpu6050傳感器實驗 精選資料推薦

    @TOCMPU6050+STM32學習筆記學習了差不多兩天的mpu6050,參考了很多篇博客還有看一些資料,今晚終于把這個東西在我的串口顯示
    發(fā)表于 08-17 09:23

    如何對基于stm32mpu6050傳感器進行測試呢

    如何對基于stm32mpu6050傳感器進行測試呢?有哪些測試步驟呢?
    發(fā)表于 11-18 06:59

    MPU6050六軸傳感器簡析

    ,總會有忘記的,所以來寫這本書的隨手筆記,記錄重點、易忘點。該博客可以當做字典,也可以當做筆記。目前內容:MPU6050六軸傳感器 一、什么是MPU
    發(fā)表于 02-10 07:15

    基于STM32單片機+MPU6050傳感器做的載人平衡車

    基于STM32單片機+MPU6050傳感器做的載人平衡車
    發(fā)表于 01-20 15:54 ?236次下載

    mpu6050六軸傳感器模塊驅動程序源代碼分享

    本文為大家分享了mpu6050六軸傳感器模塊驅動程序源代碼,STM32F1讀取MPU6050的加速度和角度傳感器數(shù)據(jù)的初始化步驟,以及
    發(fā)表于 12-11 14:26 ?3.7w次閱讀
    <b class='flag-5'>mpu6050</b>六軸<b class='flag-5'>傳感器</b>模塊驅動程序源代碼分享

    使用STM32單片機讀取MPU6050傳感器數(shù)據(jù)的程序免費下載

    本文檔的主要內容詳細介紹的是使用STM32單片機讀取MPU6050傳感器數(shù)據(jù)的程序免費下載。
    發(fā)表于 07-26 17:35 ?61次下載
    使用<b class='flag-5'>STM32</b>單片機讀取<b class='flag-5'>MPU6050</b><b class='flag-5'>傳感器</b>數(shù)據(jù)的程序免費下載

    MPU6050六軸傳感器實驗的程序和工程文件免費下載

    本文檔的主要內容詳細介紹的是MPU6050六軸傳感器實驗的程序和工程文件免費下載。
    發(fā)表于 09-20 08:00 ?16次下載
    <b class='flag-5'>MPU6050</b>六軸<b class='flag-5'>傳感器</b><b class='flag-5'>實驗</b>的程序和工程文件免費下載

    MPU6050六軸陀螺儀傳感器實驗的資料合集免費下載

    本文檔的主要內容詳細介紹的是MPU6050六軸陀螺儀傳感器實驗的資料合集免費下載。
    發(fā)表于 06-02 08:00 ?29次下載
    <b class='flag-5'>MPU6050</b>六軸陀螺儀<b class='flag-5'>傳感器</b><b class='flag-5'>實驗</b>的資料合集免費下載

    基于stm32mpu6050傳感器實驗

    @TOCMPU6050+STM32學習筆記學習了差不多兩天的mpu6050,參考了很多篇博客還有看一些資料,今晚終于把這個東西在我的串口顯示
    發(fā)表于 12-06 11:36 ?9次下載
    基于<b class='flag-5'>stm32</b>的<b class='flag-5'>mpu6050</b><b class='flag-5'>傳感器</b><b class='flag-5'>實驗</b>

    STM32復習筆記(十六)MPU6050六軸傳感器

    ,總會有忘記的,所以來寫這本書的隨手筆記,記錄重點、易忘點。該博客可以當做字典,也可以當做筆記。目前內容:MPU6050六軸傳感器?一、什么是MPU
    發(fā)表于 12-06 16:36 ?14次下載
    <b class='flag-5'>STM32</b>復習<b class='flag-5'>筆記</b>(十六)<b class='flag-5'>MPU6050</b>六軸<b class='flag-5'>傳感器</b>

    STM32入門學習筆記MPU6050傳感器解析實驗1

    MPU6050是InvenSense公司推出的一款6軸運動處理芯片,內置3軸陀螺儀及3軸速度傳感器,內置兩組I2C接口,其中一組用于通信,另一組則用于連接外部磁力
    的頭像 發(fā)表于 02-16 14:53 ?5394次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>入門</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>MPU6050</b><b class='flag-5'>傳感器</b><b class='flag-5'>解析</b><b class='flag-5'>實驗</b>1

    STM32入門學習筆記MPU6050傳感器解析實驗2

    MPU6050是InvenSense公司推出的一款6軸運動處理芯片,內置3軸陀螺儀及3軸速度傳感器,內置兩組I2C接口,其中一組用于通信,另一組則用于連接外部磁力
    的頭像 發(fā)表于 02-16 14:54 ?1290次閱讀

    STM32入門學習筆記MPU6050傳感器解析實驗4

    MPU6050是InvenSense公司推出的一款6軸運動處理芯片,內置3軸陀螺儀及3軸速度傳感器,內置兩組I2C接口,其中一組用于通信,另一組則用于連接外部磁力
    的頭像 發(fā)表于 02-16 14:54 ?1659次閱讀
    新濠百家乐官网的玩法技巧和规则 | 申烨太阳城三期| 大发888真人斗地主| 五原县| 百家乐官网看大小路| 百家乐博弈指数| 十六浦娱乐| 百家乐官网直揽经验| 广州百家乐赌场娱乐网规则 | 百家乐官网赌场技巧论坛| 百家乐官网稳赢战术技巧| 百家乐有诈吗| 皇冠足球网| 怎样打百家乐官网的玩法技巧和规则| 乐天堂百家乐娱乐| 茂名市| 赌博百家乐的路单| 大发888充值网站| 半圆百家乐官网桌子| 百家乐游戏软件出售| 娱乐城注册送白菜| 澳门百家乐官网官网网站| 皇城百家乐娱乐城| 网上百家乐官网平台下载| 百家乐公式书| 网上现金游戏| 百家乐官网庄牌| 德州扑克游戏| 百家乐官网深圳广告| 爱赢百家乐的玩法技巧和规则| 百家乐官网现金网平台| 百家乐关键词| 金龙博彩| 风水做生意店铺的门| bet365娱乐场| 百家乐官网3式打法微笑心法| 大发888网页版下载| 网上百家乐官网大赢家| 百苑百家乐的玩法技巧和规则 | 百家乐官网的出千手法| 新全讯网353788|