diff --git a/libraries/Wire/src/Wire.cpp b/libraries/Wire/src/Wire.cpp index 1593e47..c82dbe4 100644 --- a/libraries/Wire/src/Wire.cpp +++ b/libraries/Wire/src/Wire.cpp @@ -309,7 +309,7 @@ void TwoWire::onRequest( void (*function)(void) ) } // ะก function for trap handler -extern "C" void wire_interrupt_handler(void) +extern "C" void __attribute__((optimize("O3"))) wire_interrupt_handler(void) { twi_interruptHandler(); } diff --git a/libraries/Wire/src/utility/twi.c b/libraries/Wire/src/utility/twi.c index 0d4c86b..1978655 100644 --- a/libraries/Wire/src/utility/twi.c +++ b/libraries/Wire/src/utility/twi.c @@ -323,7 +323,7 @@ void twi_attachSlaveTxEvent( void (*function)(void) ) * Input none * Output none */ -void twi_interruptHandler(void) +void __attribute__((optimize("O3"))) twi_interruptHandler(void) { uint32_t int_mask = HAL_I2C_Get_CR1_Content(&hi2c) & I2C_INTMASK; // interrupts allowed uint32_t interrupt_status = HAL_I2C_Get_Interrupts_Status(&hi2c); // current flags