码迷,mamicode.com
首页 > 其他好文 > 详细

ADIS16460配置的坑

时间:2019-07-06 00:44:09      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:验证   代码   rate   src   图片   想法   img   输出   png   

最近接手个项目,说是IMU数据一直出现溢出的问题,查看了代码,也没找到什么严重的bug,该配置的寄存器也都配置了,该初始化的参数也都初始化了,可是数据始终不正常。最后在仔细研究器件手册后,终于发现了一个可疑的点,最后测试下来果然是因为这个疑似问题点造成的。

接下来就来说说这个不大不小的坑。
技术图片

从上面的寄存器表可以看到,如果要修改DEC_RATE的值,我们需要设置的是0x36,这个寄存器的默认值为0x0000,所以当我们要设置的值小于0xFF的时候,可能就只会修改0x36,而不会再去设置高8位数据的0x37。就是因为这样一个理所当然的想法,就造成了整个DEC_RATE数据的问题。

经过验证,无论DEC_RATE要设置成什么值,都要同时设置0x36和0x37,从而保证这个寄存器的值是绝对确定的,否则就容易出现数据异常,最后导致整个采集输出的数据都异常。

ADIS16460配置的坑

标签:验证   代码   rate   src   图片   想法   img   输出   png   

原文地址:https://blog.51cto.com/14432982/2417362

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!