Also dein interrupt 4 stimmt schon mal, wenn man dem Datenblatt (Seite 90)glauben kann. Mit dem using von Registerbanken kenne ich mich nicht aus, da nie benutzt.

Wie auch Peter geschrieben hat, noch mal der Hinweis, es erst mal ohne Interrupt zu versuchen. Taste dich langsam ran. Hab ja weiter oben den Code für meine F300 reingestellt.

Hast du überhaupt das Datenblatt zum F330 von Silabs? Da steht eigentlich alles drin was du wissen musst. Wenn nicht dann lad es dir von www.silabs.com mal runter. Ohne wirst du den nicht beherrschen.

Zu deinem Code vom Anfangscode ist mir noch was aufgefallen:

...else
{
RX_index = 0;
RX_ready = 1;
RX_buf[RX_index-1] = '\0';
...

Wieviel ist denn 0-1 bei unsigned char? So ein Controller arbeitet schön der Reihe nach durch, wenn er nicht gerade von einem Interrupt unterbrochen wird. Du solltest also zuerst den String abschließen und dann den Index zurücksetzen. Das ist genau wie bei deiner RI Abfrage. Wenn du immer vorher den Wert von Hand neu setzt musst du ihn doch danach nicht abfragen

sast