22 lines
1.0 KiB
C++
22 lines
1.0 KiB
C++
#include <ModbusRtu.h>
|
|
|
|
#define ID 1 // ID устройства (нужно для адресации в сети Modbus)
|
|
#define PIN 7 // Пин, состояние которого мы хотим читать
|
|
|
|
Modbus slave(ID, Serial); // Создание объекта Modbus для Serial
|
|
uint16_t au16data[1]; // Массив данных для хранения состояния пина
|
|
|
|
void setup() {
|
|
pinMode(PIN, INPUT); // Устанавливаем пин 7 как вход
|
|
Serial.begin(9600); // Инициализация последовательного порта
|
|
slave.start(); // Запуск Modbus slave
|
|
}
|
|
|
|
void loop() {
|
|
// Чтение состояния пина и запись в массив данных
|
|
au16data[0] = digitalRead(PIN); // Чтение состояния пина (0 или 1)
|
|
|
|
// Обработка запросов от мастера Modbus
|
|
slave.poll(au16data, 1); // Проверка входящих запросов и отправка состояния пина
|
|
}
|