Uart Problem mit einem Mega128

Gast #236843
Lesenswert?
• ▲
▼
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
Angehängte Dateien:
Gast #236845
Lesenswert?
• ▲
▼
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
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren