Вероятно, для большинства не открою ничего нового, но давайте на всякий случай определимся:mihail_40 писал(а): ... но так и не нашел как прикрутить RS485 к MegaD-328.
Modbus - это протокол, к "железу" не относится. Легко реализуется в управляющей программе.
RS-485 - это стандарт физического уровня для асинхронного интерфейса, соответственно MAX485 - это драйвер физического уровня для асинхронного интерфейса.
Асинхронный интерфейс в простонародии называют UART - это выводы RX, TX с логическими уровнями от микроконтроллера. В случае с RS-485 как правило еще нужна линия управления режимом приема - передачи драйвера (RE/DE). Часто ее подключают к свободному GPIO выводу микроконтроллера и устанавливают его в единицу на время передачи данных.
Т.е. при использовании микроконтроллера со встроенным контроллером UART задача связи по RS-485 является достаточно тривиальной.
Касательно MegaD-328 - насколько я понимаю, в его основе лежит Atmega328, у которой есть USART (RX-PD0, TX-PD1). Дальше надо смотреть по схеме - если эти выводы не задействованы для какой-либо периферии и есть на интерфейсных разъемах, то к ним можно без проблем подключить MAX485, а управление прием-передачей завести от любого свободного GPIO.
Это аппаратная сторона вопроса. Касательно программной - насколько я понял (может, неправ), прошивка MegaD-328 не подразумевает управление устройствами по UART. Т.е. нужно будет дописывать самому эту часть (исходники доступны насколько я знаю).
Если это будет затруднительно, то можно предложить разные решения в виде переходника с UART в другие интерфейсы. Начиная от Ethernet (Lantronix XPort и подобные) заканчивая собственным решением на простейшем MCU (вроде Mega8) и парой десятков строк кода - и тут хоть на SPI, хоть на I2C, хоть на 1-wire ...