ICM-20948 Wake on Motion功能开发全过程(7)

接前一篇文章:ICM-20948 Wake on Motion功能开发全过程(6)

探索工作

深入探索

上一回讲到,笔者在InvenSense官网上找到了实现Wake on Motion功能的指导文档。其中主要步骤如下:

本回就来结合文档中的步骤,详细讲解每一步。

(1)第1步 —— 初始化所有配置

注意,文档中提到的寄存器是针对于IAM-20680的,需要将其“对”到ICM-20948中。

IAM-20680手册中的相关内容如下:

而在ICM-20948手册中,与IAM-20680一样,DEVICE_RESET位也是在PWR_MGMT_1寄存器中。如下所示:

当然,两个寄存器的地址有所区别,这一点在写代码的时候需要注意。

这一部分对应的代码如下:

	//Step 1: Initialize all configurations
    ret = icm20948_reset(icm20948);
    if (ret != ESP_OK)
    {
        ESP_LOGE(TAG, "icm20948_reset failed");
        return ret;
    }

    vTaskDelay(10 / portTICK_PERIOD_MS);
esp_err_t icm20948_reset(icm20948_handle_t sensor)
{
    esp_err_t ret;
    uint8_t tmp;

    ret = icm20948_read(sensor, ICM20948_PWR_MGMT_1, &tmp, 1);
    if (ret != ESP_OK)
        return ret;

    tmp |= 0x80; //bit7: DEVICE_RESET
    ret = icm20948_writ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝天居士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值