Stm32 如何在LPS25HB中配置基于时钟的中断
我试图根据定义的阈值生成一个中断事件,以将mcu从停止模式唤醒 下面是我启用此功能的函数Stm32 如何在LPS25HB中配置基于时钟的中断,stm32,interrupt,sensors,Stm32,Interrupt,Sensors,我试图根据定义的阈值生成一个中断事件,以将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)
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);
}
我正在验证中断源寄存器,以检查是否生成了中断,但没有得到任何结果
关于我可能做错了什么,或者设置不正确,有什么想法或建议吗
谢谢