Форум: "Начинающим";
Текущий архив: 2009.10.18;
Скачать: [xml.tar.bz2];
ВнизRS-232 возвращает данные в формате float. Как перевести? Найти похожие ветки
← →
Priest (2009-08-21 13:03) [0]Есть устройство. И мой компонент. В него приходит в виде строки данные в формате флоат 4 байта. Как перевести в обычное представление?
← →
MBo © (2009-08-21 13:07) [1]"флоат 4 байта" называется в Дельфи single. Или что-то другое имеется в виду?
← →
Kolan © (2009-08-21 13:07) [2]Вам надо узнать как этими 4 байтами кодируют число, иначе у вас ничего не получится.
Функция перекодировки может быть примерно такой:procedure ConvertBytesToFloat(HighByte1, HighByte2,
LowByte1, LowByte2: Byte; var Value: Single);
var
TempArr: array[0..3] of Byte;
TemVal: Single absolute TempArr;
begin
TemVal := 0;
TempArr[0] := HighByte1;
TempArr[1] := HighByte2;
TempArr[2] := LowByte1;
TempArr[3] := LowByte2;
Value := TemVal;
end;
← →
Priest (2009-08-21 13:09) [3]не то. на весах показан вес например 20.99 а мне возвращается в шестнадцатиричной форме AB CD AA CC. Т.е. у меня 4 байта, но когда возвращается строка, то выглядит как "мусор". Как перевести?
← →
Priest (2009-08-21 13:12) [4]Вот у меня что есть из инструкции
Формат команды (запроса):
1 2 3 4
W 0 X 1 - всё в символьном виде
1- символ синхронизации (символ “W”)
2- номер терминала (“0…9”, по умолчанию “0”)
3- команда
4- параметр команды (“1…9 : ; <”)
Формат ответа:
4 байта данных
Основные команды
G – считывание показаний весов (с учётом дискретности индикации)
Вариант запроса : W0GX
Ответ: 4 байта float
← →
Медвежонок Пятачок © (2009-08-21 13:13) [5]Ответ: 4 байта float
ну и где здесь якобы строка?
← →
Kolan © (2009-08-21 13:19) [6]Наверно вам приходит 8 шестнадцатеричных символов? Тогда превратите их сначала в байты, а потом см. [2]
← →
Priest (2009-08-21 13:27) [7]Спасибо всем за помощь. счас буду пробовать
← →
Kolan © (2009-08-21 13:29) [8]Вам надо узнать у разработчика весов что эти 4 байта значат и как их интерпретировать.
← →
Priest (2009-08-21 15:37) [9]Всем спасибо за помощь. Код из [2] работает.
← →
Kolan © (2009-08-21 15:55) [10]Кстати в два можно проще, если испльзовать Result вместо TemVal.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.10.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c