Sören Timm schrieb:
> Dabei hab ich doch in der Datei das stehen:
Die, in der main() steht, interessiert nicht.
Deine Fehlermeldungen beziehen sich auf uart_timmy.c
> Korrigiert:
>
1 | > #include <avr/io.h>
|
2 | > #include "uart_timmy.h"
|
3 | >
|
4 | >
|
5 | > void uart_init(void)
|
6 | > {
|
7 | > UBRRH = UBRR_VAL >> 8;
|
8 | > UBRRL = UBRR_VAL & 0xFF;
|
9 | >
|
10 | > UCSRB |= (1<<TXEN); // UART TX einschalten
|
11 | > UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); // Asynchron 8N1
|
12 | > }
|
13 | > ....
|
14 | > ....
|
15 | >
|
So und jetzt gehst du diese Datei, und zwar nur diese C-Datei von oben
nach unten durch und stellst dir die Frage.
Wo kommt da F_CPU her?
Wo kommt da BAUD her?
Wie gesagt: Was in main.c steht, interessiert nicht. Das hier ist die
uart_timmy.c. Und uart_timmy.c wird für sich alleine kompiliert. Wenn
sich der Compiler uart_timmy.c vornimmt, hat er alles vergessen, was er
je aus main.c erfahren hat.
In C ist eine C-Datei eine abgeschlossene Einheit. Sie wird für sich
selbst und ohne Ansehen anderer C-Dateien compiliert. Was du daher in
anderen C-Dateie stehen hast, mag zwar für die dortige C-Datei super
sein, ist aber für diese hier uninteressant.