Hallo, habe gerade ein Problem beim Auslesen eines CAN-Buses. Vom Hersteller weiß ich auf welcher ID an welcher Position die Daten ankommen. lt. Hersteller ist die benötigte Information 10-Bit lang. Sie beginnt in Byte 1 bei Bit nr 0. Das heißt doch, dass ich die Information in Byte 1 und den ersten beiden Bits von Byte 2 finde? Nun bin ich mir nicht sicher wie die Bitwertigkeit hier ist. Mein Gedanke war: Byte 1 | Byte 2 Bit Nr. 0 1 2 3 4 5 6 7 | 0 1 Wert. 512 256 128 64 32 16 8 4 | 2 1 Wenn ich das so umrechne komme ich allerdings auf keinen vernünftigen Wert. Habe ich hier einen Denkfehler drin? Wird die Bitwertigkeit anders geregelt? Wie ist das generell bei Daten die länger als 8 Bit sind? Wie werden diese normalerweise übertragen? Kann mich evtl. jemand auf die richtige Spur bringen?
Matthias schrieb: > Byte 1 | Byte 2 > Bit Nr. 0 1 2 3 4 5 6 7 | 0 1 > Wert. 512 256 128 64 32 16 8 4 | 2 1 CAN überträgt zumindest bei der ID zuerst das MSB. Dann könnte es ev. auch so aussehen: Byte 1 | Byte 2 | Byte 3 Bit Nr. 1 0 | 7 6 5 4 3 2 1 0 | 7 6 Wert. xxx 512 | 256 128 64 32 16 8 4 2 | 1 xxx Die Bytes können auch in unterschiedlicher Reihenfolge daher kommen. Byte 2 | Byte 1 Bit Nr. 1 0 | 7 6 5 4 3 2 1 0 Wert. 512 256 | 128 64 32 16 8 4 2 1 Siehe auch hier: http://de.wikipedia.org/wiki/Endianness Was konkret der Hersteller deines Gerätes treibt, kann man aus der Ferne nicht sagen. Sieh dir mal die Daten an und betrachte die verschiedenen Varianten. Dann solltest du raus finden können welche Möglichkeit passt. Gruß Reinhard
Vielen Dank für den Link! Hat mir sehr weiter geholfen! Nach solch einer Beschreibung hatte ich gesucht. Ich kann die Bytes jetzt richtig interpretieren, bzw. konnte das Gerät so konfigurieren, dass die Bitreihenfolge wie gewünscht gesendet wird. Danke nochmal für die schnelle Hilfe!
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.