Gast
#236843
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