|
@@ -125,15 +125,15 @@ irqreturn_t i2cErrIRQHandler(int irqno, void *dev_id)
|
|
|
I2C_HandleTypeDef hi2c;
|
|
|
switch(irqno)
|
|
|
{
|
|
|
- case I2C1_EV_IRQn:
|
|
|
+ case I2C1_ER_IRQn:
|
|
|
hi2c.Instance = I2C1;
|
|
|
printk("i2c1 Error, restart...\n");
|
|
|
break;
|
|
|
- case I2C2_EV_IRQn:
|
|
|
+ case I2C2_ER_IRQn:
|
|
|
hi2c.Instance = I2C2;
|
|
|
printk("i2c2 Error, restart...\n");
|
|
|
break;
|
|
|
- case I2C3_EV_IRQn:
|
|
|
+ case I2C3_ER_IRQn:
|
|
|
hi2c.Instance = I2C3;
|
|
|
printk("i2c3 Error, restart...\n");
|
|
|
break;
|
|
@@ -142,6 +142,8 @@ irqreturn_t i2cErrIRQHandler(int irqno, void *dev_id)
|
|
|
return IRQ_HANDLED;
|
|
|
}
|
|
|
|
|
|
+ printk("SR1: %#x, SR2: %#x\n", hi2c.Instance->SR1, hi2c.Instance->SR2);
|
|
|
+
|
|
|
//restart i2c
|
|
|
hi2c.State = HAL_I2C_STATE_READY;
|
|
|
__HAL_I2C_DISABLE(&hi2c);
|