[应用相关] 使用LSM6DS3TR-C的FIFO,读取数据出错

[复制链接]
1496|2
 楼主| jcky001 发表于 2022-5-26 10:57 | 显示全部楼层 |阅读模式
使用LSM6DS3TR-CFIFO,先获取了FIFOWaterM标志,该标志置位之后再去获取当前存在FIFO缓存的数据长度,再去读取FIFO中对应长度的数据,会出现读取数据出错的现象;


配置为:
    accel full scale: 8g
    gyro full scale: 2000dps
    accel odr: 104Hz
    gyro odr: 104Hz
    fifo: gyro、accel、ds3 and ds4 no decimation
    fifo odr: 104Hz
    fifo threshold level: 24 * 80
    fifo mode: Continuous mode (110)

以下测试数据均在设备不移动的前提下;


正常数据如下:
80702628eec37a8cbb.png
错误数据如下:
28919628eec5feb29e.png
相关代码如下:
57996628eec83319d3.png
31463628eec46b3e3d.png
53353628eec7025c48.png
两只袜子 发表于 2022-5-27 11:00 | 显示全部楼层
改成一次性把所有数据都读取出来试试。然再进行数据内容判断和处理

cr315 发表于 2022-5-28 11:00 | 显示全部楼层
读取FIFO数据的时候,要以6的整数倍读取?如果对数据的实时性要求不是特别高,可以试着保证读完FIFO后,FIFO里还有数据:比如FIFO长度为11时,只读6个字节;如果FIFO长度为12时,也只读6个字节;如果FIFO为13时,读12个字节。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1650

主题

5706

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部