2025-10-27 8:42 PM - edited 2025-10-28 1:07 AM
I want to read the FIFO of IIS2ICLX, but I found that INT1 only triggers once when the power is first turned on. This is my initialization code. Is there anything wrong with this initialization?
I triggered the interrupt through the rising edge. Once the interrupt occurred, an event would be sent. I measured the level of the interrupt pin, and it remained constant.
iis2iclx_xl_full_scale_set(&dev_ctx, IIS2ICLX_500mg);
/* Configure filtering chain(No aux interface)
* Accelerometer - LPF1 + LPF2 path
*/
iis2iclx_xl_hp_path_on_out_set(&dev_ctx, IIS2ICLX_LP_ODR_DIV_10);
iis2iclx_xl_filter_lp2_set(&dev_ctx, PROPERTY_ENABLE);
iis2iclx_fifo_xl_batch_set(&dev_ctx, IIS2ICLX_XL_BATCHED_AT_104Hz);
iis2iclx_xl_data_rate_set(&dev_ctx, IIS2ICLX_XL_ODR_104Hz);
s_sample_rate = 104.0f;
iis2iclx_fifo_watermark_set(&dev_ctx, 112);
iis2iclx_fifo_mode_set(&dev_ctx, IIS2ICLX_FIFO_MODE);
iis2iclx_pin_int1_route_t int1_route;
int1_route.int1_ctrl.int1_fifo_th = 1;
int1_route.int1_ctrl.int1_fifo_ovr = 1;
int1_route.int1_ctrl.int1_fifo_full = 1;
int1_route.int1_ctrl.int1_cnt_bdr = 1;
iis2iclx_pin_int1_route_set(&dev_ctx, &int1_route);
2025-10-28 1:04 AM
i tryed INT2, it have same probelm