Pascal hat Recht, für printf brauchst Du die stdio.h.
Hier mal ein Code, der funktioniert. Die Werte für Taktfrequenz und Baudrate in Zeile 4 und 5 musst Du noch anpassen:
Code:
#include <io.h>
#include <stdio.h>
#define F_CPU 8000000 // z.B. 8 MHz Taktfrequenz
#define UART_BAUD_RATE 9600 // z.B. 9600 kb/s
#define UART_BAUD_SELECT (F_CPU/(UART_BAUD_RATE*16l)-1)
int uart_putchar(char c)
{
if (c == '\n')
uart_putchar('\r');
loop_until_bit_is_set(UCSR0A, UDRE);
UDR0 = c;
return 0;
}
void UartInit(void)
{
UCSRB = 0x08 //UART Transmitter aktivieren
UBRRL = UART_BAUD_SELECT; //Baud Rate einstellen
}
int main (void)
{
UartInit(); //Schnittstelle initialisieren
fdevopen(uart_putchar, NULL, 0);
printf ("HelloWorld");
}
Im Wiki habe ich jetzt auf die schnelle keinen Artikel gefunden, in dem printf behandelt wird bzw. die conio.h eingebunden wird..... poste doch mal den Link...
askazo
Lesezeichen