Добавим вектор для обработчика таймера и сам обработчик:
0, /*!#13 cortex-m4 penable request for system service interrupt */ sys_tick_handler, /*!#14 cortex-m4 system tick timer interrupt */ /* External Interrupts *//* system tick timer handler */void sys_tick_handler(void) { hard_delay();}Также изменим обработчик прерывания exti0 - уберем условия и добавим очистку очереди и выключение прерывания:
/* exti0 irq handler */void exti0_irq_handler(void) { LED_PORT->ODR ^= GREEN_LED | RED_LED; /* clear pending irq */ EXTI->PR |= EXTI_PR_PR0; /* disable exti0 interrupt */ EXTI->IMR &= ~EXTI_IMR_MR0;}