你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
每日签到
STM32团队2
论坛吐槽优化专区
升级测试
ST的LIS3DH有谁用过吗?基于它的计步算法有人懂吗?
[复制链接]
kunluo
提问时间:2015-12-18 12:33 /
阅读主题, 点击返回1楼
赞
0
收藏
1
评论
17
分享
发布时间:2015-12-18 12:33
请先
登录
后回复
17个回答
bbslhb
回答时间:2017-1-10 20:02:44
a0a.1 32b0c
这个加速度计是12bit的。这12bit的数据放在16bit的寄存器里面,左对齐的。
真实值应该是读到的16bit的数据再右移4位才对。
代码里只右移了3位,说明得到的这个数值是真实值的两倍。
置于为啥是3不是4,可能人家要的是2倍而非原始值吧。
赞
0
评论
回复
支持
反对
zbber
回答时间:2017-1-11 08:44:54
a0a.1 32b0c
这个算法有搞清楚吗?有没有源码贴一下,想请教一下,非常感谢
赞
0
评论
回复
支持
反对
斜阳__
回答时间:2017-1-11 09:14:42
a0a.1 32b0c
看手册。有几种可能:
1:数据存储在高位,且未用满。需要将数据右移;
2:数据是整字节的,通过右移可以简单的滤除抖动:
赞
0
评论
回复
支持
反对
cxy
回答时间:2017-3-24 13:16:11
a0a.1 32b0c
精度吧 你要看你的那个调用这个参数的函数原型。估计是精度太高了
赞
0
评论
回复
支持
反对
cxy
回答时间:2017-3-24 17:42:26
a0a.1 32b0c
因为要对齐,位数不够 补零了 MD 搞了半天总于好了
赞
0
评论
回复
支持
反对
斜阳__
回答时间:2017-3-24 21:15:46
a0a.1 32b0c
计步算法不需要很高的精度。直接把低位去掉可以当作是一种滤波。
赞
0
评论
回复
支持
反对
yuyuheqiu
回答时间:2017-3-28 11:07:42
a0a.1 32b0c
这个算法很好,其实Lis3DH数据为12bits,存储在16bits的内存中,所以要读取到每个轴的数据,应该右移4bit,又因为配置的量程为2g,所以为了降低在接下来的计算中乘以2g,所以只移动3bit,相当于乘以2了,这样简化计算,节省电量
赞
0
评论
回复
支持
反对
起初友人
回答时间:2019-12-2 17:04:53
a0a.1 32b0c
因为数据是12位有效左对齐的,应该移4位才对。
赞
0
评论
回复
支持
反对
1
2
/ 2 页
所属标签
相似问题
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
真实值应该是读到的16bit的数据再右移4位才对。
代码里只右移了3位,说明得到的这个数值是真实值的两倍。
置于为啥是3不是4,可能人家要的是2倍而非原始值吧。
1:数据存储在高位,且未用满。需要将数据右移;
2:数据是整字节的,通过右移可以简单的滤除抖动: