Forum: Mikrocontroller und Digitale Elektronik Anfänger Problem mit der UART


von Jean-Louis (Gast)


Lesenswert?

Hallo alle,

ich habe ein STK500, dafür habe ich ein kleines Programm für die UART
geschrieben (man braucht ja am anfangs ein kleines Erfolgserlebnis!).

Das Programm ist sozusagen ein echo Server, was ich sende soll ich
zurückkriegen. Ohne Interrupts funktioniert es. Leider mit nicht.

Kann mir jemand sagen woran könnte es liegen. ich wäre sehr denkbar.


void send(const char data);
const char Tx_Buf;

int main(main)
{
  UBRR = 23; //BaudRate aus der Tabelle
  sei();
  UCR = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE);

  while(1)
  {
  }

}


SIGNAL(SIG_UART_RECV)
{
  const char data;
  data = UDR;
  send(data);
}


void send(const char data)
{
  Tx_Buf = data;
  UCR   |= (1<<UDRIE);
}


SIGNAL(SIG_UART_DATA)
{
  UDR = Tx_Buf;
}


Guß

von Rahul D. (rahul)


Lesenswert?

Du musst auch noch die Interrupt-Enable-Flags setzen.

von Rahul D. (rahul)


Lesenswert?

also das TXIE (oder wie das jetzt heissen mag)

von Jean-Louis (Gast)


Lesenswert?

Ich habe leider keinen Register mit diesem Name gefunden, kannst du
bitte mehr genauer sein.

von Rahul D. (rahul)


Lesenswert?

UDRIE und TXC

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.