关于6轴传感器LSM6DSLTR的调试说明
- AP的检测脚需要配置为pull-down的,不能配置为pull-up,否则中断脚一直是高;sensor的int1脚配置为open-drain模式:
- 可以配置wakeup中断,阈值设置为1.2g产生中断。
在lsm6dsl_init_sensors函数中添加:
printk(KERN_ERR "------sy: set wakeup--- \n");
err = lsm6dsl_write_data_with_mask(sdata->cdata,
LSM6DSL_ACCEL_ODR_ADDR, //CTRL1_XL 0x10
0x40,
LSM6DSL_EN_BIT, false);
//这个参数必须是false,否则导致卡死
err = lsm6dsl_write_data_with_mask(sdata->cdata,
LSM6DSL_ACCEL_ODR_ADDR, //0x10
0x20,
LSM6DSL_EN_BIT, false);
err = lsm6dsl_write_data_with_mask(sdata->cdata,
0x0B, //dataReady mode 0x0B set pluse mode
0x80,
LSM6DSL_EN_BIT, false);
//打开基本的中断:wakeup free-fall,具体使用哪些,在别的寄存器控制
err =