Hi,
Hab das myAVR Board.
Mit C Schaffe ich es aber einfach nicht mit dem UART umzugehen.
Mit Bascom geht das ohne Probleme.
Folgenen Code benutze ich (aus der Roboternetz wiki)
im Terminal bekomm ich aber das hier: (obere 2 mit Bascom unteres mit C)Code:#include <inttypes.h> #include <stdio.h> #include <avr/io.h> #define F_CPU 3686400 #define USART_BAUD_RATE 9600 #define USART_BAUD_SELECT (F_CPU/(USART_BAUD_RATE*16)-1) char cText[] = "Hello, world !\r\n"; //----------------------------------------------------- void _writeChar(char c) { while (!(UCSRA & (1<<UDRE))) {} UDR = c; } //----------------------------------------------------- void _writeString(unsigned char *string) { while ( *string) _writeChar(*string++); } //----------------------------------------------------- void main() { UCSRB |= (1<<TXEN); UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); UBRRL = (unsigned char) USART_BAUD_SELECT; _writeString(cText); }
Bild hier
mit Bascom hab ich es auch so wie in der Wiki gemacht.
Was mach ich denn jetzt falsch???
Lesezeichen