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
|