﻿#include <SimpleModbusSlave.h> // Подключаем библиотеку
enum {D10,D11,RS0,HOLDING_REGS_SIZE};// Описываем регистры
unsigned int holdingRegs[HOLDING_REGS_SIZE];// Определяем массив регистров
void setup(){
  modbus_configure(&Serial, 9600, SERIAL_8N2, 1, 13, HOLDING_REGS_SIZE, holdingRegs);// Конфигурируем MODBUS
  modbus_update_comms(9600, SERIAL_8N2, 1); // Описываем параметры обмена
  pinMode(10, OUTPUT);// Указываем работу 10-го пина на выход
  pinMode(11, OUTPUT);}// Указываем работу 11-го пина на выход
void loop(){
  modbus_update();// Обновляем данные MODBUS
  analogWrite(10, holdingRegs[D10]>>2);// Записываем полученное значение в 10-й пин.
  analogWrite(11, holdingRegs[D11]>>2);// Записываем полученное значение в 11-й пин.
  holdingRegs[RS0] = analogRead(A0)/4;// Читаем значение АЦП и записываем его в регистр
delay(1);}// Пауза для подавления возможного "дребезга"
