Genau so hab ich es auch im Tutorial gelesen mit \r \n.
Aber leider funktioniert es nicht. Ich hab jetzt eine Delay von 1 sec mit ein gebaut, dass ich es besser sehen kann. Das Funktioniert einwandfrei.
Nur eben das Linefeed nicht.
#include <avr/io.h>
#include <stdio.h>
#define F_CPU 3686400UL
#include <util/delay.h>
#define Baud 38400
#define CR "\0\r\n"
void uart_init(void)
{
UCSRB = (1 << TXEN);
UCSRC = (1 << URSEL) | (1 << UCSZ1) | (1 << UCSZ0);
UBRRL=0x05; // Baudrate festlegen
UBRRH=0x00; // Baudrate festlegen
}
int uart_send(unsigned char c)
{
while (!(UCSRA & (1<<UDRE)))
{
// mach nichts
}
//senden
UDR=c;
return 0;
}
void uart_write(char *s)
{
while(*s)
{
uart_send(*s);
s++;
}
}
int main(void)
{
uart_init();
while(1==1)
{
uart_write("Das ist ein Test" CR);
_delay_ms(1000);
}
}
Lesezeichen