startup.c

Добавим вектор и обработчик вектора прерывания:

    0,                  /*!%36 SPI2                         */                  
    usart1_irq_handler, /*!%37 USART1                       */                  
    0,                  /*!%38 USART2                       */
/* usart1 handler */
void usart1_irq_handler(void) {
    get_char();
}

В обработчике мы будем вызывать внешнюю функции приема символа где собственно и происходит вся работа.