Probiers mal einfach so:
main.c:
Code:
// AVR-Includes
#include <avr/io.h>
// Defines
#define F_CPU 7372800 // Hier die Taktfrequenz in Hz eingeben
#define UART_BAUD_RATE 115200 // Hier die gewünschte Baudrate
#define UART_BAUD_SELECT (F_CPU/(UART_BAUD_RATE*16L)-1)
// Funktionen
// -=> UART initialisieren <=-
void UART_init(void){
UBRRL |= (uint8_t) UART_BAUD_SELECT;
UCSRB = (1<<RXEN)|(1<<TXEN);
UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
}
// -=> Byte Transmit <=-
void UART_transmit(uint8_t c){
while(!(UCSRA & (1<<UDRE)));
UDR = c;
}
// -=> String Transmit <=-
void UART_transmit_string(uint8_t *string){
while(!(UCSRA & (1<<UDRE)));
while( *string){ UART_transmit (*string++); }
}
int main (void)
{
UART_init(); // UART-Init Funktion ausführen
UART_transmit_string("Hurra, es funktioniert!!!");
while(1){
}
}
Stelle sicher, dass du die richtige Taktfrequenz eingibst. Und dass auch das Verwendete quarz in den Fuses eingestellt ist....
Lesezeichen