ATMega8 UART RX Interrupt

Gast #217027
Moin,

kennt sich jemand mit dem RX-Interrupt beim AT-Mega8 aus ?
Der Controller hängt sich auf, sobald er ein Zeichen empfängt ...

Hier ein paar Codeschnipsel (aus der Testphase ;-) :

SIGNAL(SIG_UART_DATA)
{
  char tmp;
  tmp=UDR;
        delay_ms(20);
  UDR=66;
}

int main()
{

        bit_off(UCSRC, UMSEL);    //Asynchronous Transmission
  bit_off(UCSRC, UPM0);    //No parity
  bit_off(UCSRC, UPM1);
  bit_off(UCSRC, USBS);    // 1 Stop

  bit_off(UCSRC, UCSZ0);    //Char-Size 8Bit
  bit_off(UCSRC, UCSZ1);
  bit_off(UCSRC, UCSZ2);
  UBRRH = 0x00;
  UBRRL = 0x19;

  bit_on(UCSRB, RXEN);    //Receiver enable
  bit_on(UCSRB, TXEN);    //Transmitter enable


  bit_on(UCSRB, RXCIE);    //RX INT enable

  sei();
...
}

Vielen Dank!


Greetz,
thorsten
www.lasertechnix.de

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.