XC167 - Can, Remote request bearbeiten vor dem versenden.

Gast #3739912
Lesenswert?
• ▲
▼
Hallo zusammen,

ich könnte Eure Unterstützung gebrauchen.
Mein Problem :

Ich arbeite mit dem CAN Bus auf einem XC167 Prozessor.
Can Senden, Can empfangen - alles gut.

Nun möchte ich aber RTR ( Remote Request ) Objekte, die von anderen Can 
Teilnehmern angefordert werden, erst bearbeiten bevor die Antwort 
verschickt wird. Sprich - ich möchte mitbekommen wenn ein RTR Request 
reinkommt, dann das Sendobjekt mit meinen Daten füllen, und dann erst 
die Antwort versenden.

Der Rx-Interrupt vom Sendeobjekt scheint erst zu kommen nachdem die 
Antwort bereits verschickt ist. Kann ich zwar nicht glauben, erscheint 
mir aber so.

Ich bin sicher, ich habe mich im Registerdickicht des Twincan 
Controllers verheddert und habe irgendwas übersehen.

Hat jemand mit XC167/Can Erfahrung eine Idee oder einen spezielle Trick 
wie ich das am besten einstelle ?

Danke für jede Idee.
NurEinGast
Gast #3739986
Lesenswert?
• ▲
▼
Hmm, vielleicht:
If bitfield CPUUPD is set to ‘10’, an incoming remote frame with 
matching identifier is
kept in mind via setting TXRQ internally, but is not immediately 
answered by a
corresponding data frame. The message data, stored in register 
MSGDRn0/MSGDRn4,
can be updated as long as CPUUPD is hold on ‘10’. As soon as CPUUPD is 
reset to ‘01’,
the respective data frame is transmitted by the associated CAN node 
controller.


Und wenn nicht :-)
http://www.microcontrol-blog.net/2013/03/finger-weg-von-can-remote-frames/
Gast #3740083
Lesenswert?
• ▲
▼
Das das ist doch schon mal eine geniale Antwort.
Danke. Werde ich probieren.

Wieso hab ich das nicht in den Datenblättern gefunden :-)

> Und wenn nicht :-)
> http://www.microcontrol-blog.net/2013/03/finger-we...

Ich würde fürchterlich gerne die Finger von Remote Frames weglassen.
Aber ich muss meinen CanOpen Slave an einen uralten CanOpen Master 
anpassen, der halt noch NodeGuarding macht.
Der CanOpen Slave läuft heute mit Heartbeat - alles ist gut.
Aber jetzt muss er halt mit einem alten Master sprechen können, an dem 
ich nichts ändern kann.

Danke für den Hinweis

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.