Hi Ich kriege den Uart des von mir verwendeten Mega128 nicht gestartet Quelltext: #include <avr/signal.h> #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 100000UL #define UART_BAUD_RATE 19200 void USART0_Init( unsigned int baudrate ) { /* Set the baud rate */ UBRR0H = (unsigned char) (baudrate>>8); UBRR0L = (unsigned char) baudrate; /* Enable UART receiver and transmitter */ UCSR0B = ( ( 1 << RXEN0 ) | ( 1 << TXEN0 ) ); /* Set frame format: 8 data 2stop */ UCSR0C = (1<<USBS0)|(1<<UCSZ01)|(1<<UCSZ00); //For devices with Extended IO } int main(void) { int i=0; DDRA = 0xff; /* Set the baudrate to 19,200 bps using a 3.6864MHz crystal */ USART0_Init( 11 ); for (;;) { i++; if(i==15000) { PORTA^=0x1; i=0; } } } Sobald ich versuche den Uart0 in der Funktion USART0_Init zu starten (Funktion aus einer Testdatei bei den AVRFreaks entnohmen <a href="http://www..dehttp://www.avrfreaks.net/index.php?module=FreaksFiles&func=viewFile&id=473&showinfo=1">http://www.avrfreaks.net/index.php?module=FreaksFiles&func=viewFile&id=473&showinfo=1</a> ) , blinkt die Testled am PortA.1 nicht mehr! Kommentiere ich die Funktion aus, funktioniert alles ohne Probleme. Ich weiss einfach nicht woran das liegen kann. Verwendet wird Winavr 20050214 + PonyProg unter Win2000
Hi, Hans, wieviel länger läuft die Schleife for(;;) mit einer delay()-Funktion darin? Ciao Wolfgang
Leider genauso wenig. Habe die delay.h eingebunden und lasse das Programm in der Schleife 1.5 sekunden warten. Es zeigt sich aber keine besserung leider. for (;;) { i++; if(i==15000) { PORTA^=0x1; i=0; } _delay_ms(1500); } Gruss Hans
Tippe mal darauf, daß es ein frische Mega128 ist, bei dem die Mega103-Kompatibilitäts-Fuse noch gesetzt ist. Volkmar
DANKE Volkmar! Genau daran lag es! Habe mich hier schon dumm und dämlich geärgert. Hans
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.