diff --git a/include/ModbusSlaveConfigToEEPROM.h b/include/ModbusSlaveConfigToEEPROM.h index 92d6e30..87a1c4b 100644 --- a/include/ModbusSlaveConfigToEEPROM.h +++ b/include/ModbusSlaveConfigToEEPROM.h @@ -25,6 +25,7 @@ private: static const int MODBUS_ID_ADDRESS = 0; // Speicheradresse für Modbus-ID static const int BAUD_RATE_ADDRESS = 1; // Speicheradresse für Baudrate static const int MAX_BAUD_RATE = 115200; // Maximal unterstützte Baudrate + static const int MAX_MODBUS_ID_ADDRESS = 254; // Maximal unterstützte Baudrate }; /* Konstruktor: Der Konstruktor initialisiert die Modbus-ID und die Baudrate auf Standardwerte (1 und 9600), @@ -33,7 +34,7 @@ private: ModBusConfig::ModBusConfig() { // Optional: Initialisieren Sie die EEPROM-Werte, falls erforderlich if (EEPROM.read(MODBUS_ID_ADDRESS) == 0xFF) { - SetModbusID(1); // Setze Standard ID + SetModbusID(22); // Setze Standard ID } if (EEPROM.read(BAUD_RATE_ADDRESS) == 0xFF) { SetBaudRate(9600); // Setze Standard Baudrate @@ -41,7 +42,7 @@ ModBusConfig::ModBusConfig() { } void ModBusConfig::SetModbusID(int ID) { - if (ID >= 0 && ID <= 255) { // Überprüfung, dass ID im gültigen Bereich liegt + if (ID >= 0 && ID <= MAX_MODBUS_ID_ADDRESS) { // Überprüfung, dass ID im gültigen Bereich liegt EEPROM.write(MODBUS_ID_ADDRESS, ID); } else { Serial.println("Ungültige Modbus-ID. ID muss zwischen 0 und 255 liegen.");