ICM42688传感器,使用经验。(内置滤波器)

内置滤波器

UI滤波器(是一种低通滤波器

/**
 * @brief 设置陀螺仪 UI滤波的带宽和阶数
 * @param bandwidth: 低通滤波带宽值(0-7),数字越大,滤波效果越好
 * @param order: 滤波阶数(1-3),阶数越高,滤波效果越好
 * @return 无
 */
void icm42688_set_gyro_ui_filter(uint8_t bandwidth, uint8_t order) {
    uint8_t reg_val ;
	
		// 确保带宽值在有效范围内(0-7)
    if (bandwidth > 7) {
        bandwidth = 7; // 如果超出范围,设置为最大值
    }

    // 确保阶数在有效范围内(1-3)
    if (order < 1 || order > 3) {
        order = 3; // 如果超出范围,设置为默认值 3 阶
    }

    // 选择寄存器 Bank 0
    icm42688_write_reg(ICM42688_REG_BANK_SEL, 0x00);

    // 配置陀螺仪 UI滤波带宽
    reg_val = icm42688_read_reg(ICM42688_GYRO_ACCEL_CONFIG0);
    reg_val &= ~(0x0F); // 清除低 4 位(低通滤波配置位)        80页
    reg_val |= (bandwidth & 0x0F); // 设置低通滤波带宽
    icm42688_write_reg(ICM42688_GYRO_ACCEL_CONFIG0, reg_val);

    // 配置陀螺仪 UI滤波阶数
    reg_val = icm42688_read_reg(ICM42688_GYRO_CONFIG1);
    reg_val &= ~(0x0C); // 清除阶数配置位(bit 3:2)
    reg_val |= ((order - 1) << 2); // 设置阶数(1阶=00
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值