STM32F030 ParityError nur bei aktiviertem RXNEIE?

OP #4636250
Lesenswert?
• ▲
▼
Hallo,

Ich schlage mich gerade mit folgendem Problem herum:
Mehrere Konten hängen an einer Art LIN-Bus. Die Daten dort sind 
normalerweise alle mit 7bit Odd-Parity gesendet. Ein neues Paket 
hingegen wird mit 0xAA (Even-Parity) gestartet, was bei den Empfängern 
einen Paritätsfehler auslösen soll. Die Idee ist dabei, dass die Knoten 
den normalen Empfangsinterrupt deaktivieren können und die HW erst beim 
Detektieren des Paritätsfehlers einen Interrupt auslöst und damit das 
Empfangen startet.
Bei der Implementation des Empfängers auf einem STM32F030 habe ich dafür 
während des Wartens RXNEIE deaktiviert und PEIE aktiviert. Allerdings 
bekomme ich jetzt gar keine Interrupts von der UART mehr. Sind RXNEIE 
und PEIE aktiviert bekomme ich Interrupts und der Paritätsfehler wird 
auch angezeigt.
Laut Datenblatt (RM0360 Reference manual, z.B. Diagramm Seite 627) 
sollte nach meinem Verständnis der PE Interrupt auch ohne RXNEIE kommen.

Hat jemand eine Idee, oder den gleichen Effekt beobachtet?

Anbei die Uart-Routinen (eine Mischung aus STM32CubeMx und meinem Zeugs, 
um mit CMSIS und HAL warm zu werden ;)).
Paritätserkennung funktioniert nicht (Zeile 17):
1
const uint32_t RECEIVER_WAIT = USART_CR1_UE | USART_CR1_RE | USART_CR1_PEIE;
Paritätserkennung funktioniert (Zeile 17):
1
const uint32_t RECEIVER_WAIT = USART_CR1_UE | USART_CR1_RE | USART_CR1_PEIE | USART_CR1_RXNEIE;
Angehängte Dateien:

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.