Для начала добавим указатель на обработчик прерывания от exti0:
0, /*!%5 RCC */
exti0_irq_handler, /*!%6 EXTI Line0 */
0, /*!%7 EXTI Line1 */
После этого опишем сам обработчик согласно ранее представленному алгоритму:
/* exti0 irq handler */
void exti0_irq_handler(void) {
/* if button pressed */
if (BUT_PORT->IDR & BUT1) {
/* enable leds */
LED_PORT->ODR |= ALL_LEDS;
}
/* if button not pressed */
else {
/* disable leds */
LED_PORT->ODR &= ~ALL_LEDS;
}
}