From e3d407e14ddea837bf6f8d17820f70c9ce5840b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Monda?= Date: Mon, 18 Sep 2017 04:05:41 +0200 Subject: [PATCH] Assign the I2C and USB interrupts a lower interrupt priority than the PIT interrupt. This should make the I2C watchdog always recover within the PIT interrupt. --- right/src/init_peripherals.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/right/src/init_peripherals.c b/right/src/init_peripherals.c index c49e9d1..ec719d8 100644 --- a/right/src/init_peripherals.c +++ b/right/src/init_peripherals.c @@ -14,7 +14,15 @@ #include "eeprom.h" #include "microseconds/microseconds_pit.c" -void InitI2c() { +void InitInterruptPriorities() +{ + NVIC_SetPriority(I2C0_IRQn, 1); + NVIC_SetPriority(I2C1_IRQn, 1); + NVIC_SetPriority(USB0_IRQn, 1); +} + +void InitI2c() +{ port_pin_config_t pinConfig = { .pullSelect = kPORT_PullUp, .openDrainEnable = kPORT_OpenDrainEnable @@ -53,6 +61,7 @@ void InitI2c() { void InitPeripherals(void) { + InitInterruptPriorities(); InitLedDriver(); InitResetButton(); InitMergeSensor();