Skip to content

Commit 638202e

Browse files
committed
stm32/i2c: Guard irq handlers.
Signed-off-by: Damien George <[email protected]>
1 parent 0cddf67 commit 638202e

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

ports/stm32/i2c.c

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,9 @@ static const uint8_t i2c_available =
552552
#endif
553553
;
554554

555+
#if MICROPY_HW_ENABLE_HW_I2C_TARGET
555556
uint8_t i2c_target_enabled;
557+
#endif
556558

557559
int i2c_find_peripheral(mp_obj_t id) {
558560
int i2c_id = 0;
@@ -599,9 +601,12 @@ int i2c_find_peripheral(mp_obj_t id) {
599601
void I2C1_EV_IRQHandler(void) {
600602
MP_STATIC_ASSERT(I2C1_EV_IRQn > 0);
601603
IRQ_ENTER(I2C1_EV_IRQn);
604+
#if MICROPY_HW_ENABLE_HW_I2C_TARGET
602605
if (i2c_target_enabled & 1) {
603606
i2c_slave_ev_irq_handler(I2C1);
604-
} else {
607+
} else
608+
#endif
609+
{
605610
i2c_ev_irq_handler(1);
606611
}
607612
IRQ_EXIT(I2C1_EV_IRQn);
@@ -619,9 +624,12 @@ void I2C1_ER_IRQHandler(void) {
619624
void I2C2_EV_IRQHandler(void) {
620625
MP_STATIC_ASSERT(I2C2_EV_IRQn > 0);
621626
IRQ_ENTER(I2C2_EV_IRQn);
627+
#if MICROPY_HW_ENABLE_HW_I2C_TARGET
622628
if (i2c_target_enabled & 2) {
623629
i2c_slave_ev_irq_handler(I2C2);
624-
} else {
630+
} else
631+
#endif
632+
{
625633
i2c_ev_irq_handler(2);
626634
}
627635
IRQ_EXIT(I2C2_EV_IRQn);
@@ -639,9 +647,12 @@ void I2C2_ER_IRQHandler(void) {
639647
void I2C3_EV_IRQHandler(void) {
640648
MP_STATIC_ASSERT(I2C3_EV_IRQn > 0);
641649
IRQ_ENTER(I2C3_EV_IRQn);
650+
#if MICROPY_HW_ENABLE_HW_I2C_TARGET
642651
if (i2c_target_enabled & 4) {
643652
i2c_slave_ev_irq_handler(I2C3);
644-
} else {
653+
} else
654+
#endif
655+
{
645656
i2c_ev_irq_handler(3);
646657
}
647658
IRQ_EXIT(I2C3_EV_IRQn);
@@ -659,9 +670,12 @@ void I2C3_ER_IRQHandler(void) {
659670
void I2C4_EV_IRQHandler(void) {
660671
MP_STATIC_ASSERT(I2C4_EV_IRQn > 0);
661672
IRQ_ENTER(I2C4_EV_IRQn);
673+
#if MICROPY_HW_ENABLE_HW_I2C_TARGET
662674
if (i2c_target_enabled & 8) {
663675
i2c_slave_ev_irq_handler(I2C4);
664-
} else {
676+
} else
677+
#endif
678+
{
665679
i2c_ev_irq_handler(4);
666680
}
667681
IRQ_EXIT(I2C4_EV_IRQn);

0 commit comments

Comments
 (0)