народ, хитрый вопрос. Сейчас работаю с STM32F405, нужно сделать простую штуку, вроде бы: Перенаправить стандартный вывод в UART. Но есть нюанс, если на G030 без RTOS все работает заменой putc, то в данном случае, видимо, используется какой-то буфер и данные сначала копятся, а потом улетают пачкой. Что это и как отключить? Или не парить голову и по старинке использовать макрос со sprintf + while?

Комментарии: 5

  1. Serge

    посмотри, там в 405 есть очередь? очередь хардварная на уарте

    • Ogurezzz

      Если выводить через sprintf в какой-то буффер, а потом через HAL_UART_Transmit отправлять - работает четко. Неа. Проблема описана здесь: https://youtu.be/Efgh97rC7k4?t=166 Вот только ее решение с setbuf(stdout,NULL); не прокатило у меня. Зато добавление \n к каждой строке заставляет сразу пулять данные в UART построчно.

      • Serge

        а которую stdlib ты юзаешь?)

Не нашли ответ?

Вам также может быть интересно