-
запрос трм-201
Здравствуйте!
Согласно описанию протокола ОВЕН, я пытался расшифровать ответ пришедший от
прибора ТРМ-201, на запрос ЗНАЧЕНИЕ ПАРАМЕТРА.
Адрес прибора: 0
Версия прошивки: 24
Прибор: ТРМ-201
Команду запроса на получение ЗНАЧЕНИЕ ПАРАМЕТРА
(в данном случае, температуры), я "взял", следущим образом.
Подключил друг другу два СОМ порта (2-3, 3-2, 5-5).
Запустил конфигуратор ТРМ и свою программу для работы с СОМ портом.
Настроил два порта. И послал запрос якобы ТРМ-201-му.
Моя программа получила, вот, что: #GGHGROTVGTMK (в конце ENTER)
Затем это сообщение я передал в прибор ТРМ-201.
Вот, что он мне ответил: #GGGJROTVKHQUPIJSHK (в конце ENTER)
На экране ТРМ-201 в момент запроса отображалось 21,4.
В приложенном файле, показано, как я расшифровывал это сообщение.
http://slil.ru/27437455
HASH-код я увидел и всё остальное,
но вот никак не могу расшифровать ЗНАЧЕНИЕ ПАРАМЕТРА.
Подскажите, как это сделать.
Спасибо.
-
цитата:
"Формат числа с плавающей точкой - это просто стандартное 4-байтовое плавающее число в IEEE-формате, или усеченное 3-х байтовое (PIC-формат) - то же, что и IEEE, но с отброшенным младшим байтом мантиссы".
добавляете к данным нулевой байт и делаете вид, что получившееся четыре байта - число с плавающей запятой. примерно так для x86:
Код:
void unpackFloat24(unsigned char* data, size_t dataSize, float* value)
{
unsigned char* p = (unsigned char*)(value);
assert(data);
assert(dataSize == 3);
assert(value);
p[0] = 0;
p[1] = data[2];
p[2] = data[1];
p[3] = data[0];
}