我正在查看这个存储库,以便稍微使用 lis2dw12 加速度计。
尝试使用 Ac
tivity 示例,我得到了预期的结果,但对检测到中断引脚的路由有点困惑。从第 185 行开始,它执行以下操作:
- /* Enable activity detection interrupt */
- lis2dw12_pin_int1_route_get(&dev_ctx, &int_route.ctrl4_int1_pad_ctrl);
- int_route.ctrl4_int1_pad_ctrl.int1_wu = PROPERTY_ENABLE;
- lis2dw12_pin_int1_route_set(&dev_ctx, &int_route.ctrl4_int1_pad_ctrl);
“lis2dw12_pin_int1_route_get”和“lis2dw12_pin_int1_route_set”有什么区别。在我的理解中,这部分代码只是将唤醒位路由到 Ctrl4_Int1_pad_ctrl,但是“route_get”命令在做什么?
查看函数内部它只读取寄存器的当前状态,这有什么特别的原因吗?
- int32_t lis2dw12_pin_int1_route_get(stmdev_ctx_t *ctx,
- lis2dw12_ctrl4_int1_pad_ctrl_t *val)
- {
- int32_t ret;
- ret = lis2dw12_read_reg(ctx, LIS2DW12_CTRL4_INT1_PAD_CTRL,
- (uint8_t*) val, 1);
- return ret;
- }