Цитата(kan35 @ Jul 29 2011, 13:14)

Есть несколько UARTов. Требуется делать форматный вывод в разные, можно ли как то для одной задачи (с её printf-ами) привязать один putchar, а для другой задачи - другой putchar?
Так а что, это только в avr-libc под avr-gcc есть понятие файла с подставляемыми пользователем функциями get/put и возможностью потом писать
Код
fprintf( &lcd_file, fmt, ...);
fprintf( &uart_file, fmt, ...);
При необходимости через макросы fdev_set_udata() можно в запсь про файл занести указатель на упомянутый кольцевой буфер и через fdev_get_udata() брать его внутри put() и заносить в буфер, можно просто выводить в порт, на ЖКИ, куда угодно. Хоть сервис оси дёргать и жать готовности "осевым" способом.
fprintf ничего и не узнает :-)
На мой взгляд -- вполне аккуратно всё выходит.
У других такого нет?