Использование printf() вместо Serial.print()

on

Иногда удобнее написать printf()

Добавляем в любой заголовочный или программный файл следующий код:

int serial_putc(char c, FILE *) {
    Serial.write(c);
    return c;
}

void printf_begin(void) {
    fdevopen(&serial_putc, 0);
}

Если fdevopen нет в библиотеке — то тогда такой вариант:

int printf(const char *format, ...) __attribute__((__format__(__printf__, 1, 2)));

static char printfBuffer[256]; int printf(const char *format, ...) { va_list args; va_start(args, format); int res = vsprintf(printfBuffer, format, args); Serial.print(printfBuffer); va_end(args); return res; }

Добавить комментарий

Войти с помощью: