народ, хитрый вопрос. Сейчас работаю с STM32F405, нужно сделать простую штуку, вроде бы: Перенаправить стандартный вывод в UART. Но есть нюанс, если на G030 без RTOS все работает заменой putc, то в данном случае, видимо, используется какой-то буфер и данные сначала копятся, а потом улетают пачкой. Что это и как отключить? Или не парить голову и по старинке использовать макрос со sprintf + while?
Комментарии: 5
Serge
посмотри, там в 405 есть очередь? очередь хардварная на уарте
Ogurezzz
Если выводить через sprintf в какой-то буффер, а потом через HAL_UART_Transmit отправлять - работает четко. Неа. Проблема описана здесь: https://youtu.be/Efgh97rC7k4?t=166 Вот только ее решение с setbuf(stdout,NULL); не прокатило у меня. Зато добавление \n к каждой строке заставляет сразу пулять данные в UART построчно.
Serge
а которую stdlib ты юзаешь?)
Ogurezzz
А какую STM32 подтянул к проекту :)
Kirill
gcc по стандарту newlib подсасывает Я вот это использую