Hallo,
ich hab ein Problem mit der UART-Schnittstelle.
Wenn ich mit HTERM auf die Schnittstelle schau kommen nur "0x00" an das dafür in rauhen mengen.
Die Baudrate ist auf 38400 eingestellt.
Ich selbst seh leider keinen fehler in diesen Quellcode.
Ich möchte die Schnittstelle für Debugzwecke verwenden. Aber dazu muss ich erst einmal etwas ausgeben könnenCode:#include <avr/io.h> #include <stdio.h> #define F_CPU 36864 #define Baud 38400 void uart_init(void) { UCSRB = (1 << TXEN); UCSRC = (1 << URSEL) | (1 << UCSZ1) | (1 << UCSZ0); UBRRL=0x05; // Baudrate festlegen UBRRH=0X0b; // 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("test\0"); } }
Besten Dank schon einmal für euere Zeit







Zitieren


Lesezeichen