Iot Base作为modbus server
用DTU模拟传感器,改写Iot Base保持寄存器的数据,IotBase的id为7
#include#include #include #define RX_PIN 13 #define TX_PIN 15 RS485Class RS485(Serial2, RX_PIN, TX_PIN,-1,-1); const int numCoils = 10; const int numDiscreteInputs = 10; const int numHoldingRegisters = 10; const int numInputRegisters = 10; void setup() { M5.begin(); M5.Lcd.setTextSize(3); M5.Lcd.println(">>IoT BASE"); M5.Lcd.println(">>ModBus Slave Test"); M5.Lcd.println(">>ID: 0x07"); // start the Modbus RTU server, with (slave) id 7 if (!ModbusRTUServer.begin(7, 9600)) { Serial.println("Failed to start Modbus RTU Server!"); while (1) ; } // configure coils at address 0x00 ModbusRTUServer.configureCoils(0x00, numCoils); // configure discrete inputs at address 0x00 ModbusRTUServer.configureDiscreteInputs(0x00, numDiscreteInputs); // configure holding registers at address 0x00 ModbusRTUServer.configureHoldingRegisters(0x00, numHoldingRegisters); // configure input registers at address 0x00 ModbusRTUServer.configureInputRegisters(0x00, numInputRegisters); } void loop() { // poll for Modbus RTU requests ModbusRTUServer.poll(); M5.Lcd.drawNumber(ModbusRTUServer.holdingRegisterRead(1), 55, 100); }