你好!
我在定制板上使用 lis2dw12,并尝试根据我路由到 INT1 的数据就绪信号获取加速度。
该代码基于此
存储库,但我认为我做错了什么,因为在用示波器测量时我无法从引脚获取任何信号。
这是我的设备配置。
- lis2dw12_reg_t int_route;
- /*
- * Restore default configuration
- */
- lis2dw12_reset_get(&dev_ctx, &rst);
- lis2dw12_reset_set(&dev_ctx, PROPERTY_ENABLE);
- do
- {
- } while (rst);
- /*
- * Enable Block Data Update
- */
- lis2dw12_block_data_update_set(&dev_ctx, PROPERTY_ENABLE);
- /*
- * Set full scale
- */
- lis2dw12_full_scale_set(&dev_ctx, LIS2DW12_8g);
- /*
- * Configure filtering chain
- * Accelerometer - filter path / bandwidth
- */
- lis2dw12_filter_path_set(&dev_ctx, LIS2DW12_LPF_ON_OUT);
- lis2dw12_filter_bandwidth_set(&dev_ctx, LIS2DW12_ODR_DIV_4);
- /*
- * Configure power mode
- */
- lis2dw12_power_mode_set(&dev_ctx, LIS2DW12_CONT_LOW_PWR_LOW_NOISE_2);//LIS2DW12_CONT_LOW_PWR_12bit);
- /*
- * Set Output Data Rate
- */
- lis2dw12_data_rate_set(&dev_ctx, LIS2DW12_XL_ODR_50Hz);//LIS2DW12_XL_ODR_100Hz);
- nrf_gpio_pin_set (ACC_nSS);
- // Enable data ready interrupt
- int_route.ctrl4_int1_pad_ctrl.int1_drdy = PROPERTY_ENABLE;
- lis2dw12_pin_int1_route_set(&dev_ctx, &int_route.ctrl4_int1_pad_ctrl);
- nrf_delay_ms(10);
我检查了 CTRL7 寄存器并设置了“INTERRUPTS_ENABLE”位。除此之外,还有其他方法可以检查配置是否正确吗?