打印
[应用相关]

使用LSM6DS3TR-C的FIFO,读取数据出错

[复制链接]
1009|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)

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


正常数据如下:

错误数据如下:

相关代码如下:

31463628eec46b3e3d.png (366.47 KB )

31463628eec46b3e3d.png

53353628eec7025c48.png (753.53 KB )

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个字节。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1522

主题

4615

帖子

6

粉丝