Forum: Mikrocontroller und Digitale Elektronik USART0 Interrupt Problem ATMEGA1280


von Terfagter (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich sitze jetzt seit ein paar Tagen an folgendem Problem:
Meine USART0-Schnittstelle läuft ohne Interrupt. Jetzt würde ich gerne 
einen Buffer und einen Interrupt einbauen. Jedoch habe ich das Gefühl, 
das mein Interrupt nicht auslöst und ich noch irgendwas falsch mache.
Ich habe in die Funktion ISR(USART0_RX_vect) mal putch0('x'); 
geschrieben damit ich sehe, wenn ein Interrupt ausgelöst wird, wenn ich 
ein Zeichen an den µC sende. Es wird aber kein x zurück gesendet.
Der Controller ist ein Atmega 1280.
Danke für eure Hilfe.


main.c:

//****************************************************************
//  Dateiname    :   main.c
//
//  Erstellt    :   19.08.2010
//  Letzte Änderung         :   20.08.2010
//
//  Funktion    :
//****************************************************************

#include <avr/io.h>
#include <util/delay.h>
#include "uart.h"
#include <avr/interrupt.h>

int wert;

int main (void)
{
  initusart0();

  sei();

  while(1)
  {
    //_delay_ms(1000);
    if (!(getch0() == 0))
    {
      wert = getch0();
      putch0('x');
    }
  }
}

von ... (Gast)


Lesenswert?

Ja wenn Du Interrupts haben willst, mußt Du die natürlich auch 
einschalten!
Tip: RXCIE0

von Terfagter (Gast)


Lesenswert?

Ok danke. Das war der Fehler. Hätte ich ja auch früher drauf kommen 
können...

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.