За основу возьмем предыдущий пример - Интерактивное меню. Вместо цикла обработки будет функция которая будет вызываться из прерывания, которое генерируется по приему байта.
Начнем с создания проекта:
nis@jane ~/stm32/f4examples/06-usart $ cp -a 05-interactive-menu/ 06-int-if-recieve
nis@jane ~/stm32/f4examples/06-usart $ cd 06-int-if-recieve/
После изменим startup.c добавив обработчик прерывания для УСАПП №1.
Также добавим в work.c функцию получения символа и настройку прерываний от УСАПП №1.
Соберем проект и загрузим бинарную прошивку в МК:
nis@jane ~/stm32/f4examples/06-usart/06-int-if-recieve $ make write
Видео: