Erstmal ein goßes Danke. Schient alles zu funktionieren. Aber das
Programm was ich in der Uni geschrieben habe funktioniert leider nicht.
Was komisch ist weil der Quelltext derselbe ist unt der gcc compiler
des linux rechners in der uni nicht meckert. Auch ich sehe kein
Fehler.
mein Quelltext:
......
#include <io.h> // Zugriff auf die I/O's des Controllers
#define F_CPU 3600000 /* 3,6 Mhz */
#define UART_BAUD_RATE 9600 /* 9600 baud */
// Berechnung des Inhalts des UBBR-Registers
#define UART_BAUD_SELECT (F_CPU/(UART_BAUD_RATE*16l)-1)
// Datentypdefinitionen
typedef unsigned char BYTE;
typedef unsigned short WORD;
// Globale Variablen
char ch; // Variable zur Speicherung des gelesenen Zeichens
int main (void) {
/* UART Control Register laden. Wir verwenden (noch)
keine Interrupts. Vorerst wollen wir nur mal senden, also wird
nur das Transmitter Enable Flag gesetzt. */
outp ((1 << RXEN) | (1 << TXEN), UCR);
/* Baudrate einstellen */
outp ((BYTE) UART_BAUD_SELECT, UBRR);
outp (0xff,DDRC); // Port B als Ausgang
while (1) { // Endlosschleife
if (inp (USR) & (1 << RXC)) { // Bit RXC im USR gesetzt ?
ch = inp (UDR); // Datenregister auslesen
}
outp ( ch , UDR);
outp (255-ch,PORTC);
}
}
Ich habe von das MFile Tool von dir benutzt um das Makefile zu
erstellen. Großartiges Programm. Tut genau das was es soll. Habe also
darin einfach den MCU geändert und das Target angepasst.
Aber im Output Fenster stehen folgende Fehler:
Compiling: senden.c
avr-gcc -c -mmcu=atmega128 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=senden.lst -std=gnu99
-Wp,-M,-MP,-MT,senden.o,-MF,.dep/senden.o.d senden.c -o senden.o
senden.c: In function `main':
senden.c:21: error: `UCR' undeclared (first use in this function)
senden.c:21: error: (Each undeclared identifier is reported only once
senden.c:21: error: for each function it appears in.)
senden.c:24: error: `UBRR' undeclared (first use in this function)
senden.c:29: error: `USR' undeclared (first use in this function)
senden.c:30: error: `UDR' undeclared (first use in this function)
make: *** [senden.o] Error 1
Da ich mir nur vorstellen kann das das Makefile schuld ist. Weil der
Quelltext in der Uni funktioniert, wolte ich dich also nochmals um Rat
fragen.
MfG.S. Oliver