STM32L451 UART overrun: Interrupt auch ohne Enable?

OP #6115520
Lesenswert?

hallo :(

Ist das normal? Ein UART benutzt zum Empfang Interrupts, also sind der 
RXNE Interrupt und der RTO Interrupt eingeschaltet und sonst nichts. Das 
funktioniert auch -- solange es keinen overrun error gibt. Dann bleibt 
der/ein Interrupt aktiv, auch wenn keine weiteren Zeichen rein kommen.

Wenn man das ORE Flag explizit löscht, scheint es zu funktionieren, 
aber overrun errors sind nicht leicht zu provozieren und Endlosschleifen 
auf Interrupt-Ebene sind sowieso doof. Ich bin auch nur 95% sicher, dass 
die Endlosschleife so kurz ist. Es ist auch unlogisch, weil es extra ein 
error interrupt enable (EIE) gibt, das nicht gesetzt ist.

Im STM32L451xx device errata pdf steht nichts und im RM0394 ist alles so 
beschrieben, wie man es sich vorstellt. Meine pdfs sind allerdings alt 
(Oktober bzw. Dezember 2018). Hat evt. jemand bessere Connections zu ST 
und etwas neuere Ausgaben?

P.S. ein Breakpoint auf den ersten overrun error ergab auch nicht viel:
1
CR1  0400142d
2
CR2  00800000
3
CR3  00000000
4
RTOR 00000027
5
ISR  006110eb

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren