Показать сообщение отдельно
Старый 03.01.2008, 14:11   #90
Николаич
Новичок
 
Регистрация: Dec 2007
Адрес: Санкт-Петербург
Сообщения: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Реализация чтения длинных чисел Modbus

Думаю, тут неправ modbus.org

А данные я и передаю, так как они хранятся. И никакой перекодировкой не занимаюсь.
Например, стандартный float запихиваю в union:

union {float aFlt; char b[4];} uFlt;

uFlt.aFlt=fWeight;

// и в данных для передачи получаю Большого-большого Индейца
TxData[3]=uFlt.b[3];
TxData[4]=uFlt.b[2];
TxData[5]=uFlt.b[1];
TxData[6]=uFlt.b[0];

А не использовать long/real вообще... Спасибо, но лучше - вы к нам ~(с)

Кстати, в своих приборах я вышел из этой проблемы, сделал настройку Индейца.
Теперь по команде мастера переключаюсь с Большого-большого Индейца на Малого-большого.
Чего и вашему лоджику желаю!
И других успехов в новом году!
Николаич вне форума   Ответить с цитированием