Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Описание функций freemodbus
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
devlater
Необходимо реализовать устройство соединенное с неким сервером по средствам RS-485 протокол freemodbus. Со сборкой и прикреплением этой библиотеки проблем нет, есть проблемы с осмыслением структуры freemodbus расширения.
Непонятно какие функции за что отвечают, где прием, где передача, где проверка целосности данных, и т.д. и т.п.
У кого есть реализованый скелет функций приема и мосылки ответа от Slave-устройства к Master на AVR freemodbus.

Спасибо.
x83
Цитата(devlater @ Aug 17 2015, 10:02) *
Необходимо реализовать устройство соединенное с неким сервером по средствам RS-485 протокол freemodbus. Со сборкой и прикреплением этой библиотеки проблем нет, есть проблемы с осмыслением структуры freemodbus расширения.
Непонятно какие функции за что отвечают, где прием, где передача, где проверка целосности данных, и т.д. и т.п.
У кого есть реализованый скелет функций приема и мосылки ответа от Slave-устройства к Master на AVR freemodbus.

Спасибо.


Во первых, протокол называется Modbus. Раз речь идет про линию связи по интерфесу RS-485, то у вас видимо заданы форматы ADU ( ASCII или RTU ). Библиотека freemodbus реализует оба режима.
Для нормальной работы с этой библиотекой вам надо в файлах portserial.c описаь свою реализацию функций работы с последовательным портом, а в porttimer.c функции инициализации и обработки прерываний от таймера для работы библиотеки.
Далее надо написать свои функции для колбэков eMBRegHoldingCB(), и т.д.
Ну и потом периодический дергаете функцию eMBPoll(); из mb.c ( кстати изучив код этой функции можно понять логику работы всей библиотеки).

Внутри библиотеки реализован автомат который отрабатывает логику протокола, ждет запрос, анализирует зего, формирует ответ. Все реализовано через колбэки, конечный код которых в конечном счете и надо вам самим описать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.