ST意法半导体
直播中

杨勇

7年用户 1215经验值
私信 关注
[问答]

请问大神如何才能让MLC在lsm6dsox上正常工作呢

/* 开始机器学习核心配置 */
    对于(uint32_t i = 0;我
                              sizeof(ucf_line_t));
         我++)
    {
        lsm6dsox_write_reg(p_lsm6dsox, lsm6dsox_MLC.address,
                           (uint8_t *)&lsm6dsox_MLC.data, 1);
    }
    /* 禁用 I3C 接口 */
    lsm6dsox_i3c_disable_set(p_lsm6dsox,LSM6DSOX_I3C_DISABLE);
    /* 关闭传感器 */
    lsm6dsox_xl_data_rate_set(p_lsm6dsox,LSM6DSOX_XL_ODR_OFF);
    lsm6dsox_gy_data_rate_set(p_lsm6dsox,LSM6DSOX_GY_ODR_OFF);
    /* 启用块数据更新 */
    lsm6dsox_block_data_update_set(p_lsm6dsox,PROPERTY_ENABLE);
    // /*
    // * 设置满刻度
    // */
    lsm6dsox_xl_full_scale_set(p_lsm6dsox,LSM6DSOX_4g);
    lsm6dsox_gy_full_scale_set(p_lsm6dsox,LSM6DSOX_2000dps);
    /*
   * 设置FIFO水印(未读传感器数据TAG个数+6字节
   * 存储在 FIFO 中)至 10 个样本
   */
    lsm6dsox_fifo_watermark_set(p_lsm6dsox, 10);
    /*
       * 将 FIFO 批处理 XL/陀螺仪 ODR 设置为 12.5Hz
       */
    lsm6dsox_fifo_xl_batch_set(p_lsm6dsox,LSM6DSOX_XL_BATCHED_AT_26Hz);
    lsm6dsox_fifo_gy_batch_set(p_lsm6dsox,LSM6DSOX_XL_BATCHED_AT_26Hz);
    /*
       * 将 FIFO 模式设置为流模式(又名连续模式)

       */
    lsm6dsox_fifo_mode_set(p_lsm6dsox,LSM6DSOX_STREAM_MODE);
lsm6dsox_pin_int1_route_t int1_route;
    lsm6dsox_pin_int1_route_get(p_lsm6dsox, &int1_route);
    int1_route.int1_ctrl.int1_fifo_th = PROPERTY_ENABLE;
    lsm6dsox_pin_int1_route_set(p_lsm6dsox, &int1_route);
    /* 中断引脚 1 上的路由信号 */
    lsm6dsox_pin_int2_route_t pin_int2_route;
    lsm6dsox_pin_int2_route_get(p_lsm6dsox, &pin_int2_route);
    pin_int2_route.mlc_int2.int2_mlc1 = PROPERTY_ENABLE;
    lsm6dsox_pin_int2_route_set(p_lsm6dsox, &pin_int2_route);
    /* 配置中断引脚模式通知 */
    // lsm6dsox_int_notification_set(p_lsm6dsox, LSM6DSOX_BASE_PULSED_EMB_LATCHED);
    /* 设置输出数据速率。
   * 所选数据速率必须等于或大于
   * 采用 MLC 数据速率。
   */
    lsm6dsox_xl_data_rate_set(p_lsm6dsox,LSM6DSOX_XL_ODR_26Hz);
    lsm6dsox_gy_data_rate_set(p_lsm6dsox,LSM6DSOX_GY_ODR_26Hz);
    lsm6dsox_****_sens_set(p_lsm6dsox,LSM6DSOX_****_BASE_MODE);
    lsm6dsox_fifo_****_batch_set(p_lsm6dsox, PROPERTY_ENABLE);
    lsm6dsox_steps_reset(p_lsm6dsox);









回帖(1)

陈勇

2022-12-20 15:26:18
您需要在写入寄存器以运行 mlc 后重置 mlc
举报

更多回帖

发帖
×
20
完善资料,
赚取积分