Это пример, так же как и предыдущий является развитием примера Передача байта. Прием строки - это тоже комплексное действие, такое же как и передача строки.
При передачи строк, каждая завершается двумя символами - '\r', '\n': возврат каретки и перевод строки. Поэтому мы воспользуемся предыдущим примером и сделаем надстройку над функцией приема байта.
Создадим проект:
nis@jane ~/stm32/f4examples/06-usart $ cp -a 02-receive-byte/ 04-receive-string
nis@jane ~/stm32/f4examples/06-usart $ cd 04-receive-string/
И скопируем файл str_util.c с предыдущего проекта, в который затем допишем функцию приема строки:
nis@jane ~/stm32/f4examples/06-usart/04-receive-string $ cp ../03-send-string/str_util.c .
Также доработаем файл work.c изменив бесконечный цикл и переменные.
Остальной код остался прежним поэтому, соберем проект и загрузим его в МК:
nis@jane ~/stm32/f4examples/06-usart/04-receive-string $ make write
Видео: