4940|0

212

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

【GD32F350分享】【四】L3G4200D陀螺仪驱动程序编写 [复制链接]

       再计步算法中需要使用陀螺仪检测人体运动姿态的变化,这里使用L3G4200D陀螺仪,L3G4200D是意法(ST)半导体公司推出的一款MEMS运动传感器:三轴数字输出陀螺仪。可选-250~250、-500~500、-2000-2000dps。同时使用IIC接口进行数据输出,这里使用之前的模拟IIC可以方便移植。
  

        同样再工程目录Driver文件夹下,添加l3g4200d源文件和头文件,同时重新配置接口:
  1. #define        L3G4200_Addr   0xD2 //定义器件在IIC总线中的从地址,根据ALT ADDRESS地址引脚不同修改
  2. //***************L3G4200D内部寄存器地址***********
  3. #define WHO_AM_I 0x0F
  4. #define CTRL_REG1 0x20
  5. #define CTRL_REG2 0x21
  6. #define CTRL_REG3 0x22
  7. #define CTRL_REG4 0x23
  8. #define CTRL_REG5 0x24
  9. #define REFERENCE 0x25
  10. #define OUT_TEMP 0x26
  11. #define STATUS_REG 0x27
  12. #define OUT_X_L 0x28
  13. #define OUT_X_H 0x29
  14. #define OUT_Y_L 0x2A
  15. #define OUT_Y_H 0x2B
  16. #define OUT_Z_L 0x2C
  17. #define OUT_Z_H 0x2D
  18. #define FIFO_CTRL_REG 0x2E
  19. #define FIFO_SRC_REG 0x2F
  20. #define INT1_CFG 0x30
  21. #define INT1_SRC 0x31
  22. #define INT1_TSH_XH 0x32
  23. #define INT1_TSH_XL 0x33
  24. #define INT1_TSH_YH 0x34
  25. #define INT1_TSH_YL 0x35
  26. #define INT1_TSH_ZH 0x36
  27. #define INT1_TSH_ZL 0x37
  28. #define INT1_DURATION 0x38
复制代码


  1. //L3G4200D IIC控制函数
  2. void I2C_GPIO_Config(void);
  3. void I2C_Delay(void);
  4. uint8_t I2C_Start(void);
  5. void I2C_Stop(void);
  6. void I2C_Ack(void);
  7. void I2C_NoAck(void);
  8. uint8_t I2C_WaitAck(void);
  9. void I2C_SendByte(uint8_t SendByte);
  10. unsigned char I2C_RadeByte(void);
  11. uint8_t Single_Write(unsigned char SlaveAddress,unsigned char REG_Address,unsigned char REG_data);
  12. unsigned char Single_Read(unsigned char SlaveAddress,unsigned char REG_Address);
  13. void Init_L3G4200D(void);
  14. void READ_L3G4200D(void);
  15. void Send_data(uint8_t axis);
  16. void DATA_printf(unsigned char *s,short temp_data);
复制代码



          使用串口调试打印输出的三轴角速度信息如下:



此帖出自GD32 MCU论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表