Da ich widersprüchliche antworten auf meine Frage gefunden habe, frage ich nocheinmal nach. Wenn ich eine Remote-Anfrage starten möchte (Transmitter) muss/kann/darf ich Datenbytes senden oder nicht. Beim Remote-Auto-Respons darf ich da auch Nachrichten ohne Datenbyte schicken, bzw. darf auch eine normale Nachricht gar kein Datenbyte enthalten?
Da RTR nur ein Bit im CAN-Frame ist, kannst du theoretisch Datenbytes mitsenden. Ob der CAN-Controller sich daran verschluckt, ist eine andere Frage... Probieren geht über Studieren. Nachtrag: - Eine normale Nachricht kann gern auch 0 Datenbytes haben. bezüglich Länge der Antwort auf die RTR-Aufforderung kann ich nichts beitragen, ist aber wahrscheinlich wieder implementierungsabhängig und wird vom CAN-Controller nicht beeinflusst werden.
"Da ich widersprüchliche antworten auf meine Frage gefunden habe, frage ich nocheinmal nach." Wo hast du gesucht? "Wenn ich eine Remote-Anfrage starten möchte (Transmitter) muss/kann/darf ich Datenbytes senden oder nicht." Jeder HW CAN Controller wird keine Datenbytes senden (Spec!), wenn du einen Remote-Frame triggerst. Es hindert dich aber niemand die Bytes in irgendwelche Register zu schreiben. "Beim Remote-Auto-Respons darf ich da auch Nachrichten ohne Datenbyte schicken, bzw. darf auch eine normale Nachricht gar kein Datenbyte enthalten?" Ja.
Also beim Renesas R8C/23 sieht die Sache so aus: Bei der Remote Anforderung (Transmitter) muss ich die Anzahl der Bytes (DLC) senden, die ich per Auto response vom Receiver zurück haben möchte. Also ich send DLC (Anzahl Datenbytes) = 3 und bekomme vom Receiver 3 Datenbytes zurück.
Noch ein Nachtrag. Es werden vom Transmitter aber nicht wirklich die Datenbytes gesendet, sondern nur der Wert der Datenbyteanzahl.
"Bei der Remote Anforderung (Transmitter) muss ich die Anzahl der Bytes (DLC) senden, die ich per Auto response vom Receiver zurück haben möchte." Es zwingt niemand den Empfänger das auszuwerten, dieser kann dir jede beliebige Anzahl von Datenbytes (0...8) zurücksenden.
> Es zwingt niemand den Empfänger das auszuwerten, dieser kann dir jede > beliebige Anzahl von Datenbytes (0...8) zurücksenden. Wenn auto-response ausgeschaltet ist, ist das wohl richtig, aber wenn es eingeschaltet ist, macht der Empfänger das automatisch. Der Empfänger hat also keinen Einfluss darauf.
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.