Цитата(Т.Достоевский @ Sep 22 2007, 02:01)

а не char?
Для AVR было бы лучше char, но низя, т.к. по стандарту int, и прототип этот уже объявлен в stdio.h, его вызывает функция printf при печати символов. (по крайней мере в IAR'е так).
Цитата
Почему есть возвращаемое значение?
чтобы возвращать код ошибки. putchar предназначен для вывода символов в любое последовательное устройсво вывода, например в файл. Как пример кода ошибки может быть - нет доступа/устройство не готово и т.п., но этим можно пренебречь.
простейший вариант putchar для отправки символов по UART'у может быть таким:
Код
int putchar(int ch)
{
while( !(UCSRA & (1 << UDRE) ) );
UDR = ch;
return 0;
}