Прием байта
Продолжая освоение УСАПП, рассмотрим вторую часть этого устройства - приемник. Приемник разделяет регистр 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
Видео проекта: