DMX Usart: ISR löst 514x aus nicht 512x

OP #1494671
Hi,

hab grad ein kleines problem mit dem empfangen von dmx-datenpaketen (512 
Werte): es werden zwar alle Kanäle empfangen, allerdings löst die ISR 
nicht 512x aus sondern 514x aus; bei allen Interrupts ist auch das 
AT91C_US_RXRDY Bit gesetzt.

entsprechend ist der erste DMX-Wert im Array nicht der Wert Array[0] 
sondern der Wert Array[1]. Sprich die ISR empfängt einen Interrupt nach 
der Break, dann empfängt die ISR alle 512 Kanäle und anschließend 
nochmals einen Interrupt (wenn die Break anfängt))....

Ist das normal?

Baudrate 250kBaud, und Clock vom Prozessor stimmen; 8 Datenbits, zwei 
Stoppbits und ein Startbit sind auch ausgewählt.

Gruß
Bernd
#1494679
Für den empfangenden UART ist der Break ein Frame-Error. Je nach dem wie 
er konfiguriert ist (bzw. sich konfigurieren läßt) löst auch ein 
Frame-Error einen Interrupt aus. Die ISR muß dann anhand der 
Status-Flags des UART unterscheiden, welcher Fall vorliegt.
OP #1494687
das hab ich auch - beim AT91SAM9263 Prozessor ist das dann ein
1
if( ulStatus & AT91C_US_RXRDY )
2
{
3
  cntr++; 
4
}
5

6
if((ulStatus & AT91C_US_RXBRK) == AT91C_US_RXBRK)
7
{
8
  //um den break zu erkennen
9
  //hier ist dann cntr = 0x202  
10
}

Gruß
Bernd

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.