30 lines
917 B
C++
30 lines
917 B
C++
#include <SimpleModbusSlave.h>
|
||
|
||
|
||
#define PIN1 7 // Пин для проверки состояния
|
||
|
||
// Настройка регистров
|
||
#define TOTAL_REGS 1
|
||
uint16_t regs[TOTAL_REGS] = {0}; // Один регистр для хранения статуса
|
||
|
||
SimpleModbusSlave slave(1); // Инициализация Slave с ID 1
|
||
|
||
void setup() {
|
||
// Настройка пина как вход
|
||
pinMode(PIN1, INPUT);
|
||
|
||
// Настройка скорости передачи данных
|
||
slave.setup(115200); // Установка скорости передачи данных 115200
|
||
}
|
||
|
||
void loop() {
|
||
// Чтение состояния пина
|
||
int pinState = digitalRead(PIN1);
|
||
|
||
// Установка регистра в 1, если пин HIGH, иначе 0
|
||
regs[0] = (pinState == HIGH) ? 1 : 0;
|
||
|
||
// Запуск цикла Modbus slave
|
||
slave.loop(regs, TOTAL_REGS);
|
||
}
|