Вступить в клуб →
средняявопросCAN, Modbus и RS-485

Температура из двух регистров Modbus читается как 2,36e-41

По документации преобразователя температура — float32 в регистрах 100–101. Датчик показывает 25,5 °C. Ответ устройства:

регистр 100 = 0x0000
регистр 101 = 0x41CC

Прошивка склеивает (reg100 << 16) | reg101 и копирует результат в float — получается 2,36e-41. Что происходит?

  • Устройство кладёт младшее слово в первый регистр
  • Регистры хранят температуру в сотых долях
  • Байты внутри каждого регистра перевёрнуты
  • float32 надо читать функцией 04, а не 03

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела