Atmel T89C51CC02: CAN und Interrupts

OP #765979
Ich möchte aus zwei Interrupts CAN-Nachrichten versenden. Das Problem 
ist scheinbar, daß der eine Interrupt beim Senden seiner Nachricht vom 
anderen Interrupt mit höherer Priorität unterbrochen werden kann. Daher 
scheint es gelegentlich Error-Frames zu geben.

Ich habe die Message Objects irgendwie noch nicht ganz kapiert und bin 
mir nicht sicher, ob sie das genannte Problem lösen können. Kann man 
diese Objects dazu verwenden, Nachrichten in beiden Interrupts 
aufzubauen, ohne daß sie sich in die Quere kommen?

P.S.: Ich denke, ansonsten setzt man eher nur Signalbits von den 
Interrupts aus, so daß das Hauptprogramm die Nachrichten sequentiell 
rausschicken kann. Interrupts sollte man eh so früh wie möglich 
verlassen, denke ich...
Gast
Die Message Objects sind wie mehere Torpederohre beim U-Boot. Während du 
ein Rohr abfeuerst, kann das nächste schon geladen werden. Nur das 
Empfangen von soll bei den U-Booten nicht so angenehm sein ;-) .

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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.