STM32‎ > ‎STM32f4discovery‎ > ‎Примеры‎ > ‎УСАПП‎ > ‎Ввод чисел‎ > ‎

main.c

Подключим заголовочный файл библиотеки и объявим прототипы функций вывода и ввода символов:
#include "xprintf.h"
void ser1_sendb(unsigned char byte);
char ser1_receiveb(void);

В функции main() объявим буфер в виде масива на 80 символов, целочисленную переменную для сохранения, а также проинициализируем вывод и ввод для библиотеки:
    char buffer[80];
    long var;
   
    xdev_out(ser1_sendb);
    xdev_in(ser1_receiveb);
В бесконечном цикле мы принимаем строку и дробим ее на числа которые тут же выводим:
    /* infinity loop */
    while (1) {
        /* put intro char */
        xputs("# ");
        if (xgets(buffer, sizeof buffer)) {
            xprintf("# %s\n>", buffer);
            char * pBuffer;
            pBuffer = buffer;
            while (xatoi(&pBuffer, &var)) {
                xprintf(" %d", var);
            }
            xputs("\n");
        }
    }

Comments