Hi,
du brauchst es gar nicht so kompiliziert zu machen:
Code:
#include <avr/io.h>
#define F_CPU 3686400L /* Oszillator-Frequenz in Hz */
#define BAUD_RATE 9600L
#define UART_BAUD_RATE 9600
#define UART_BAUD ((F_CPU)/((UART_BAUD_RATE)*16L)-1)
int main (void)
{
UCSRB=0x04;
UBRRH=(uint8_t) (UART_BAUD>>8);
UBRRL=(uint8_t) (UART_BAUD & 0x00ff);
while (!(UCSRA & (1<<UDRE)));
UDR = 'x';
}
F_CPU wird übrigens seit dem neusten WinAVR Release im Makefile definiert. Dann braucht man es nicht mehr im Hauptprogramm zu tun...
MfG Kjion
Lesezeichen