Простенькая программа потестить printf.
Гружу в протеус 6.7 sp3 hex. Все ок (выдает Hello world!

)
Гружу cof. Программа выполняется исходник видно но printf не работает.
исправляю make WinAvr(2006 г. сборка).
Там 3 вырианты printf - standart, minimalistic,float-point. Делеаю 3 make. Гружу 3 вырианта cof в Протеус таже истрория.
Где я что не так делаю?
#include ‹inttypes.h›
#include ‹avr/io.h›
#include ‹util/delay.h›
#include ‹stdio.h›
#include ‹stdlib.h›
char n,c;
int uart_putchar(char c, FILE *stream )
{
if (c == '\n') uart_putchar('\r',stream);
loop_until_bit_is_set(UCSRA, UDRE);
UDR = c;
return 0;
}
int uart_getchar(FILE *stream)
{
return -1;
}
void main (void)
{
UBRRL = 25;
UCSRB = 0x18;
DDRA = 0x00;
PORTA = 0xFF;
DDRB = 0xFF;
DDRD= 0xFF;
fdevopen(uart_putchar,uart_getchar);
printf("Hello, world!\n");
PORTB = 0xaa;
}