Forum: Compiler & IDEs Uart Problem mit einem Mega128


von Hans Otto (Gast)


Angehängte Dateien:

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

von Wolfgang Horn (Gast)


Lesenswert?

Hi, Hans,

wieviel länger läuft die Schleife for(;;) mit einer delay()-Funktion
darin?

Ciao
Wolfgang

von Otto Hans (Gast)


Angehängte Dateien:

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

von Volkmar (Gast)


Lesenswert?

Tippe mal darauf, daß es ein frische Mega128 ist, bei dem die
Mega103-Kompatibilitäts-Fuse noch gesetzt ist.

Volkmar

von Otto Hans (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.