Forum: Mikrocontroller und Digitale Elektronik Atmel T89C51CC02: CAN und Interrupts


von P. G. (pgr)


Lesenswert?

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...

von Obelix (Gast)


Lesenswert?

Ja nimm in beiden Interrupts ein anderes Message Object. Dann solle es 
kein Problem mehr geben.

von Obelix (Gast)


Lesenswert?

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 ;-) .

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.