Ответ: работаю с этим
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено NA 06 апреля 2004 г. 11:41
В ответ на: Блин... Крутой поворот в деятельности. Буду делать теплосчетчик. Хочу положить в него MODBUS. Не противоречит ли это моде, традициям и проч.? отправлено Самоделкин 06 апреля 2004 г. 08:11

Доку ищи в интернете по ключевым словам modbus rtu CRC16 и т.д.
в качестве верхнего уровня на PC применял Modbus OPC Server
, но у него вроде попутаны старнший и младшие байты CRC при передаче

Написал модуль для ModBus на Сях
ModBus (режим RTU, 19.2К, data 8, NoParity, порядок передачи CRC16: Lo, Hi)
как верхний уровень интерфейса RS-232
система расчитана на работу под 3мя процессорами:

адрес устройства 0x23 (35)

at90s2313 11.059MHz
at90s8515 8MHz
atMega162 8MHz


Доступны следующие команды

READ COIL STATUS - чтение логических ячеек (Output Coil)
Location 2
READ HOLDING REGISTERS - чтение регистов хранения (Output Register)
Location 1-18
*при чтении вместо реальных значений выдаются номера затребованых регистров
FORCE SINGLE COIL - изменение состояния логических ячеек
FORCE SINGLE REGISTER - запись нового значения в регистр хранения (запись одного регистра)
FORCE MULTIPLE REGISTERS - запись новых значений в регистры хранения (запись нескольких
последовательных регистров регистра) - команда будет убрана
*в программе для отладочных целей в случаее не правильного кода CRC16 возвращается
правильный код (2 байта). При приеме сообщения с перерывом может возникнуть ситуация
что вернулось 4, 6 и тд байт , что говорит о слишком большом перерыве между байтами.
в окончательном варианте протокола особеность будет убрана.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru