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
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/
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.