Показать сообщение отдельно
Старый 17.02.2010, 15:54   #1
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили: 665 раз(а) в 607 сообщениях
По умолчанию Получение нестандартного REAL по MODBUS

Макрос исправляет порядок байтов при приёме числа REAL по Modbus.

Позволяет менять местами как регистры, так и байты внутри регистров.

Работает с входными данными в формате LONG или 2хINT. В первом случае переменная REAL читается
как LONG, во втором случае как два последовательно расположенных INT.

На выходе макроса - преобразованное число REAL.

Форматы приёма данных:

- старшим регистром вперед - при передаче 32-битного числа первым передаются старшие 16 бит (стандарт)
- младшим регистром вперед

- страший байт впереди (Little endian) - PC и большинство распространенных микропроцессоров
- младший байт впереди (Big endian)
Вложения
Тип файла: msl real_swapper.msl (38.1 Кбайт, 1822 просмотров)


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 08.08.2013 в 17:42
Arsie вне форума  
Благодарность от: