OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4907|回复: 1

关于L3G4200D陀螺仪静态值问题

[复制链接]

27

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
411
金钱
411
注册时间
2014-4-18
在线时间
94 小时
发表于 2015-2-5 22:52:58 | 显示全部楼层 |阅读模式
5金钱
第一次使用这款陀螺仪,静态时采集的值大约在-240~-300左右。
每次开机时静止不动取100次平均数作为零点,
现在问题是,当下载完程序后第一次启动可正常采集零点,断电再启动后自动检测的零点就会有问题,使静态值不是在0上下
请问这是什么问题呢?

初始化部分:
[mw_shl_code=c,true]uint8_t tem[2],i; short ba=0; int32_t temp=0; for(i=0;i<100;i++)//计算陀螺仪零点 { DelayMs(5); I2C_ReadSingleRegister(HW_I2C0,GYR_I2C_ADDR,0x28,&tem[0]); I2C_ReadSingleRegister(HW_I2C0,GYR_I2C_ADDR,0x29,&tem[1]); ba = (tem[1]<<8)|tem[0]; temp+=ba; } GYR_ZERO=(float)temp/100;[/mw_shl_code]
采集部分:
[mw_shl_code=c,true]uint8_t tem[2]; uint8_t i; int32_t sum=0; short ba=0; for(i=0;i<5;i++) { I2C_ReadSingleRegister(HW_I2C0,GYR_I2C_ADDR,0x28,&tem[0]); I2C_ReadSingleRegister(HW_I2C0,GYR_I2C_ADDR,0x29,&tem[1]); ba = (tem[1]<<8)|tem[0]; sum+=ba; } return ((float)sum/50-GYR_ZERO)*GYR_RATIO;[/mw_shl_code]

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-2-5 23:22:25 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-26 01:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表