Versionsangabe in Hex

OP #3050647
Lesenswert?

Hallo Leute

Hab im Moment ein Verständigungsproblem.

In meiner Doku steht folgende Definition:

Wert 0: ...
Wert 1: ...
Wert 2: ...
Wert 3: ...
Wert 4: ...
Wert 5: 0xnn Firmware version, MSB
Wert 6: 0xnn Firmware version
Wert 7: 0xnn Firmware version
Wert 8: 0xnn Firmware version, LSB

The firmware version is represented in four bytes (VAL5 … VAL8,
hex encoded):
Example: 0x01 0x02 0x00 0x14 = V1.2.0.20

Ich habe in meinem Empfangsbuffer (Wert0-8)einzelne "unsigned char" 
Werte,
die ich zu einer Version zusammensetzen muss.

Kann mir nun jemand erklären, wie sie eine Versionsangabe 1.2.0.10
übertragen werden. 0x14 = 20d kann ich ja noch nachvollziehen.

Ich nehme nicht an, dass nur die Werte

0x00-0x09 = 0-9
0x10-0x20 = 16-32
0x21-0x30 = 33-48 usw.
...

zur Verfügung stehen werden.

Bin für jeden Tip sehr dankbar!
Gast #3050659
Lesenswert?

Hexzahlen sind zur Basis 16.
Also:
 0 = 0x00
 1 = 0x01
 ...
 9 = 0x09
10 = 0x0A
11 = 0x0B
12 = 0x0C
13 = 0x0D
14 = 0x0E
15 = 0x0F

Eine 0x10 entspricht einer dezimalen 16.
Wenn du aber eine dezimale 10 in Hex ausdrücken willst, dann ist es 
0x0A.

Alles klar?
OP #3050680
Lesenswert?

Hallo Leute

Herzlichen Dank für Euren Beitrag, aber das bringt mich so nicht weiter.

Wie gesagt, so wie ich das verstanden habe, habe ich ja nur 1Byte zur
Verfügung welches als Hex- Wert zu interpretieren ist.

Wenn mir also jemand erklären kann, wie die folgende Versionsangabe
übertragen wird:

  1.2.0.10

der folgende Ansatz funktioniert ja gemäss

  Example: 0x01 0x02 0x00 0x14 = V1.2.0.20

nicht:

1 = 0x01
2 = 0x02
0 = 0x00
10 = (eigentlich 0x0A) wenn aber 0x10 daher kommt,
beträgt die Wertigkeit 16 und eben nicht 10
OP #3050708
Lesenswert?

OK

So wie ich das verstanden habe, schicken sie mir über die Schnittstelle
den dezimalen Wert 14, den ich als 20 interpretieren muss.
Wenn sie den Wert 20 schicken würden, macht die Aussage hex encoded
für mich ja keinen Sinn. (Aber wie heisst es doch so schön, nichts ist
unmöglich, Tojota)

Wert 5: 0xnn Firmware version, MSB
Wert 6: 0xnn Firmware version
Wert 7: 0xnn Firmware version
Wert 8: 0xnn Firmware version, LSB

The firmware version is represented in four bytes (VAL5 … VAL8,
hex encoded):
Example: 0x01 0x02 0x00 0x14 = V1.2.0.20

Was senden sie mir denn für einen Wert, wenn ich in der Version den
Wert 12 anzeigen muss?
Gast #3050715
Lesenswert?

Andreas Häusler schrieb:
> So wie ich das verstanden habe, schicken sie mir über die Schnittstelle
> den dezimalen Wert 14, den ich als 20 interpretieren muss.#
      ^^^^^^^^^
Ja was jetzt, bekommst Du 14 oder 0x14 (=20)?

> Wenn sie den Wert 20 schicken würden, macht die Aussage hex encoded
> für mich ja keinen Sinn.
0x20 = 32 , warum macht das keinen Sinn?


> Was senden sie mir denn für einen Wert, wenn ich in der Version den
> Wert 12 anzeigen muss?
12 = 0x0C

Was ist denn jetzt eigentlich Dein Problem?
Gast #3050718
Lesenswert?

@Andreas Häusler

Schreib nicht so viel, sondern setz Dich doch erst einmal mit dem 
Zahlensystem auseinander.

>den dezimalen Wert 14, den ich als 20 interpretieren muss.

Die 14 ist hier kein dezimaler Wert. Steht doch schon in der Doku: "hex 
encoded"

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren