У меня есть блок шестнадцатеричных данных, который включает в себя настройки датчика, я включу начальный фрагмент шестнадцатеричного кода (сначала LSB):
F501517 C 8150D4DE 04010200 70010101 05F32A04 F4467000 00000AFF 0502D402
Из документации следует декодировать этот гекс в de c:
3.1. Полный идентификатор и настройки запись (0x7 C)
Offset Length (bytes) Field description
0x00 6 Full identifier
0x06 40 Settings
3.1.1 Полный идентификатор
Offset Field description
0x00 Product Type
0x01 Device Type
0x02 Software Major Version
0x03 Software Minor Version
0x04 Hardware Major Version
0x05 Hardware Minor Version
3.1.2 Настройки
Offset Length(bit) Offset(bit) Default value Min Max Field Description
0x00 8 0 0 0 255 Country number
0x01 8 0 0 0 255 District number
0x02 16 0 0 0 9999 Sensor number
...
0x27
Это единственная информация, которую я должен расшифровать. Столбец смещения должен быть уловкой для понимания этого.
- Каковы смещения шестнадцатеричных значений?
- В первой шестнадцатеричной строке я вижу 7 C.
- В разделе «Настройки» отображается значение 0x27 = 39 в десятичная дробь, которая указана в разделе 3.1 как длина 40.