Как преобразовать шестнадцатеричное значение в число с плавающей запятой в Arduino

Нужна помощь, поскольку вы новичок и не знаете, как преобразовать Big Endian с плавающей запятой из двухбайтовых массивов в плавающее значение или из шестнадцатеричного в десятичное значение с плавающей запятой

{
  uint8_t j, result;
  uint16_t dataval[2];

  result = node.readHoldingRegisters(8192, 2);      // slave: read (6) 16-bit registers starting at register .. to RX buffer , this address is in Decimal, so convert hex to decimal to use correct address
  if (result == node.ku8MBSuccess)                  // do something with data if read is successful
  {
    for (j = 0; j < 2; j++)                        // set to 0,1 for two datablocks
    {
      dataval[j] = node.getResponseBuffer(j);


    }

    //********************************
    String myValuea =  String(dataval[0], HEX); //Convert it into Hexadecimal
    String myValueb =  String(dataval[1], HEX); //Convert it into Hexadecimal

person Brad Douglas    schedule 22.05.2019    source источник
comment
В основном я читаю значение с адреса Modbus 8192, которое составляет 2 блока данных, а ответ в шестнадцатеричном формате - это Float-Big Endian. мне нужно увидеть значение до 2 знаков после запятой как float . пожалуйста, может кто-нибудь помочь, я пытался посмотреть другие сообщения, но не повезло.   -  person Brad Douglas    schedule 22.05.2019
comment
См. stackoverflow.com/questions/ 23419920/   -  person RamblinRose    schedule 23.05.2019