Hallo Daniel
Ich hab mich auch damit beschäftigt. Ich benutze ebenfalls einen Mega8 zum Experimeentieren.
Hier mal 2 Beispiele
2. Beispiel mit Hilfe der Procyon LibCode:#include <stdlib.h> #include <avr/io.h> void uart_init (void); void uart_transmitt (unsigned char data); void uart_puts (char *s); /* Initialisierung des UARTs für Mega8, F_CPU = 8 MHz; Baud = 9600*/ void uart_init (void) { UCSRB |= (1 << TXC); UCSRC |= ((1 << URSEL) | (3 << UCSZ0)); UBRRH = 51; UBRRL = 25; } void uart_transmitt (unsigned char data) { while (!(UCSRA & (1 << UDRE))) UDR = data; } void uart_puts (char *s) { while (*s) { /* so lange *s != '\0' also ungleich dem "String-Endezeichen" */ uart_transmitt(*s); s++; } } int main (void) { uart_init(); uart_transmitt('a'); return(0); }
Das Empfangen von Daten verstehe ich selbst noch nicht. Schau dir mal das GCC-Tutorial auf www.mikrocontroller.net an. Das hat mir sehr geholfen.Code:#include <stdlib.h> #include <avr/io.h> #include "uart.h" #include "rprintf.h" int main (void) { int i = 5; uint16_t a; uartInit(); uartSetBaudRate(9600); rprintfInit(uartSendByte); rprintf("TEST %d", i); for(;;) {} return(0); }
mfg Robert






Zitieren

Lesezeichen