www.mikrocontroller.net

Forum: Compiler & IDEs AT90S4433 Uart-Interrupt mit avrgcc


Autor: Peter Bauer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
möchte gerne irgendein byte über den uart schicken, und wenn es
angekommen ist, dann soll die interrupt routine jedesmal den PortB
invertieren.
Die Led die dort angeschlossen ist blinkt dem entsprechend.
ohne interrupt un  in assembler läuft dieses.

was mache ich falsch?? avrgcc neuling!! hier mein quellcode:

#include <avr/io.h>
#include <avr/sfr_defs.h>
#include <avr/signal.h>
#include <avr/interrupt.h>


INTERRUPT (SIG_UART_RECV)
{
  PORTB=~PORTB;


}


/************************************************/
void uartreceive_ini (unsigned char data)
{
  UBRR=data;

  UCSRB  |= (1<<RXEN)|(1<<TXEN)|(1<<RXCIE);
}
/************************************************/
int main (void)
{
  uartreceive_ini(25);


  DDRB=0xFF;
  PORTB=0x00;
  sei();
  while(1)
    {

    }

  return 0;
}

danke schon einmal
peter bauer

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
lies einfach das empfangene Byte aus (temp = udr).
Dadurch wird das Interrupt-Flag gelöscht.
Sonst wird dauernd das RECV-Interrupt ausgelöst, und deinb Port B
blinkt...

Autor: Jamal Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
super vielen dank, das war der fehler!!

schönes wochenende

jamal

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.