Форматированный вывод

Добавим в пример Передача строки вывод инкрементируемого счетчика. Для этого воспользуемся достаточно известной функцией форматированного вывода printf в реализации elm-chan - xprintf. Эта библиотека была выбрана по причине своей компактности, а также малому потреблению ресурсов. При этом она реализует полностью форматированный целочисленный вывод и не только его.

Начнем с создания проекта:

nis@jane ~/stm32/f4examples/06-usart $ cp -av 03-send-string/ 07-xprintf

nis@jane ~/stm32/f4examples/06-usart $ cd 07-xprintf/

Изменим startup.c добавив в обработчик прерывания таймера №4 статическую переменную и форматированный вывод.

Также сделаем функцию вывода в серийный порт №1 в файле usart.c.

А в файле work.c мы добавим инициализацию библиотеки xprintf в main().

Не забудем в файле xprintf.h указать необходимые настройки:

#define _USE_XFUNC_OUT    1    /* 1: Use output functions */
#define    _CR_CRLF        1    /* 1: Convert \n ==> \r\n in the output char */
#define _USE_XFUNC_IN    0    /* 1: Use input function */
#define    _LINE_ECHO        0    /* 1: Echo back input chars in xgets function */

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

nis@jane ~/stm32/f4examples/06-usart/07-xprintf $ make write

Видео:

В этом примере отчетливо видно как функция форматированного вывода облегчает восприятие информации передаваемой из МК.