Я пытаюсь сгенерировать событие прерывания на основе определенного порога, чтобы вывести mcu из режима остановки.
Вот моя функция для включения этой функции
void LPS25_interrupt_Config(){
Conf_reg1 |= (LPS25HB_CTRL_REG1_PD | LPS25HB_CTRL_REG1_ODR_25HZ);
HAL_I2C_Mem_Write(&hi2c1,LPS25HB_ADDRESS_WRITE,LPS25HB_CTRL_REG1,1,&Conf_reg1,1,0xff);
Conf_reg2 = (LPS25HB_CTRL_REG2_AUTOZERO);
HAL_I2C_Mem_Write(&hi2c1,LPS25HB_ADDRESS_WRITE,LPS25HB_CTRL_REG2,1,&Conf_reg2,1,0xff);
Conf_reg3=(LPS25HB_CTRL_REG3_INT_S_Pressure_LH );
HAL_I2C_Mem_Write(&hi2c1,LPS25HB_ADDRESS_WRITE,LPS25HB_CTRL_REG3,1,&Conf_reg3,1,0xff);
Interrupt_conf= (LPS25HB_INTERRUPT_CFG_LIR );
HAL_I2C_Mem_Write(&hi2c1,LPS25HB_ADDRESS_WRITE,LPS25HB_INTERRUPT_CFG,1,&Interrupt_conf,1,0xff);
HAL_I2C_Mem_Write(&hi2c1,LPS25HB_ADDRESS_WRITE,LPS25HB_THS_P_L,1,&Threshold_L,1,0xff);
HAL_I2C_Mem_Write(&hi2c1,LPS25HB_ADDRESS_WRITE,LPS25HB_THS_P_H,1,&Threshold_H,1,0xff);
HAL_I2C_Mem_Read(&hi2c1,LPS25HB_ADDRESS_READ,LPS25HB_INTERRUPT_CFG,1,&Interrupt_conf,1,0xff);
Interrupt_conf|=(LPS25HB_INTERRUPT_CFG_PL_E | LPS25HB_INTERRUPT_CFG_PH_E);
HAL_I2C_Mem_Write(&hi2c1,LPS25HB_ADDRESS_WRITE,LPS25HB_INTERRUPT_CFG,1,&Interrupt_conf,1,0xff);
HAL_I2C_Mem_Read(&hi2c1,LPS25HB_ADDRESS_READ,LPS25HB_CTRL_REG1,1,&Conf_reg1,1,0xff);
Conf_reg1 |= (LPS25HB_CTRL_REG1_DIF_E );
HAL_I2C_Mem_Write(&hi2c1,LPS25HB_ADDRESS_WRITE,LPS25HB_CTRL_REG1,1,&Conf_reg1,1,0xff);
}
I ' я проверяю регистр источника прерываний, чтобы проверить, было ли сгенерировано прерывание, но я ничего не получаю.
Любые мысли или предложения о том, что я могу делать неправильно или неправильно настроен?
спасибо!