Перейти к содержанию
    

Описание функций freemodbus

Необходимо реализовать устройство соединенное с неким сервером по средствам RS-485 протокол freemodbus. Со сборкой и прикреплением этой библиотеки проблем нет, есть проблемы с осмыслением структуры freemodbus расширения.

Непонятно какие функции за что отвечают, где прием, где передача, где проверка целосности данных, и т.д. и т.п.

У кого есть реализованый скелет функций приема и мосылки ответа от Slave-устройства к Master на AVR freemodbus.

 

Спасибо.

Изменено пользователем devlater

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Необходимо реализовать устройство соединенное с неким сервером по средствам RS-485 протокол freemodbus. Со сборкой и прикреплением этой библиотеки проблем нет, есть проблемы с осмыслением структуры freemodbus расширения.

Непонятно какие функции за что отвечают, где прием, где передача, где проверка целосности данных, и т.д. и т.п.

У кого есть реализованый скелет функций приема и мосылки ответа от Slave-устройства к Master на AVR freemodbus.

 

Спасибо.

 

Во первых, протокол называется Modbus. Раз речь идет про линию связи по интерфесу RS-485, то у вас видимо заданы форматы ADU ( ASCII или RTU ). Библиотека freemodbus реализует оба режима.

Для нормальной работы с этой библиотекой вам надо в файлах portserial.c описаь свою реализацию функций работы с последовательным портом, а в porttimer.c функции инициализации и обработки прерываний от таймера для работы библиотеки.

Далее надо написать свои функции для колбэков eMBRegHoldingCB(), и т.д.

Ну и потом периодический дергаете функцию eMBPoll(); из mb.c ( кстати изучив код этой функции можно понять логику работы всей библиотеки).

 

Внутри библиотеки реализован автомат который отрабатывает логику протокола, ждет запрос, анализирует зего, формирует ответ. Все реализовано через колбэки, конечный код которых в конечном счете и надо вам самим описать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...