Цитата(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 ( кстати изучив код этой функции можно понять логику работы всей библиотеки).
Внутри библиотеки реализован автомат который отрабатывает логику протокола, ждет запрос, анализирует зего, формирует ответ. Все реализовано через колбэки, конечный код которых в конечном счете и надо вам самим описать.