Прием байта

Продолжая освоение УСАПП, рассмотрим вторую часть этого устройства - приемник. Приемник разделяет регистр USART->DR вместе с передатчиком, только в случае приемника доступен он для чтения.

Создадим простой алгоритм который будет принимать символ и отправлять его обратно. Прерывание от таймера нам больше не нужно, поэтому все действия будем производить в цикле. Также в проект будет внесено несколько строк инициализации, но в основном настройки остались прежними.

Создадим проект:

nis@jane ~/stm32/f4examples/06-usart $ cp -a 01-send-byte/ 02-receive-byte

nis@jane ~/stm32/f4examples/06-usart $ cd 02-receive-byte/

После этого в файле usart.c создадим функцию для приема байта.

Очистим наш файл запуска startup.c от ненужного кода.

И произведем инициализацию периферии а также добавим в бесконечный цикл обработку ввода в файле work.c.

Соберем проект и загрузим в МК:

nis@jane ~/stm32/f4examples/06-usart/02-receive-byte $ make write

Видео проекта: