Hallo,
das ist mein start in diesem forum und warscheinlich stelle ich die
frage obwohl sie schon irgendwo beantwortet wurde.
bitte verzeit mir schonmal im vorraus das ich nichts gefunden habe.
ich will mein Uart auf eine baudrate von 9600 einstellen um ihn mit
meinem esp8266 Wifi mudul kommunizieren zu lassen.
jetzt mein problem egal was ich mache die baudrate bleibt bei 600.
1 | #define F_CPU 16000000 /* evtl. bereits via Compilerparameter definiert */
|
2 | #define BAUD 9600
|
3 | #include <util/setbaud.h>
|
4 |
|
5 |
|
6 | void uart_init(void)
|
7 | {
|
8 |
|
9 | UBRRH = UBRRH_VALUE;
|
10 | UBRRL = UBRRL_VALUE;
|
11 | /* evtl. verkuerzt falls Register aufeinanderfolgen (vgl. Datenblatt)
|
12 | UBRR = UBRR_VALUE;
|
13 | */
|
14 | #if USE_2X
|
15 | /* U2X-Modus erforderlich */
|
16 | UCSRA |= (1 << U2X);
|
17 | #else
|
18 | /* U2X-Modus nicht erforderlich */
|
19 | UCSRA &= ~(1 << U2X);
|
20 | #endif
|
21 |
|
22 | UCSRC = (1<<UCSZ1)|(1<<UCSZ0); // Asynchron 8N1
|
23 | UCSRB |= (1<<TXEN);
|
24 | UCSRB |= (1<<RXEN); // UART RX einschalten
|
25 | }
|
besten dank für die hilfe
noch was ... ich benutze einen ATmega8A mit einem 16MHz quarz und 3.3V