====== ImodbusRTUInit() ====== ''ImodbusRTUInit()'' sets the communication port, station number and baud rate. {{:en-us_commands:reference:imodbusrtuinit.svg?900|ImodbusRTUInit command operation flow}} ''void ImodbusRTUInit(HardwareSerial& serialPort, uint8_t slaveId, long baudrate)'' ===== Commands ===== ^ Command ^ Arguments ^ Return Value ^ Operation ^ | ''ImodbusRTUInit(serialPort, slaveId, baudrate)'' | ''HardwareSerial& serialPort'' — Serial port connected to RS-485\\ ''uint8_t slaveId'' — Slave address\\ ''long baudrate'' — Baud rate | ''void'' | Sets the communication port, station number and baud rate. | ===== Example ===== void setup() { ImodbusRTUMem(100, 200); // Set the M·D memory sizes used by the Slave. ImodbusRTUAdr(0, 0); // Set the start addresses of M·D memory. ImodbusRTUInit(Serial1, 1, 115200); // Set the communication port, station number and baud rate. } void loop() { ImodbusRTU(); // Check incoming requests and process Slave responses. D[0] = 100; D[3] = 200; } ===== Precautions ===== * Keep calling the Slave or Master execution function in ''loop()''. * The data array size must be at least the requested quantity. * Do not treat return codes BUSY and IDLE as communication failures. * When sharing ''M'' and ''D'' with Cnet/MC Protocol, define a single final size and initialization order. Do not call ''ImodbusRTUMem()'' or ''ICnetMem()'' again at runtime. * Memory allocation functions do not return success status. For nonzero sizes, verify that ''M'' and ''D'' are not ''nullptr'' before accessing them in user code. ===== Built-in Commands in the Same Category ===== * [[:en-us_commands:reference:imodbusrtumem|ImodbusRTUMem() View detailed description]] * [[:en-us_commands:reference:imodbusrtuadr|ImodbusRTUAdr() View detailed description]] * [[:en-us_commands:reference:imodbusrtu|ImodbusRTU() View detailed description]] [[:en-us_commands:builtin|← Built-in Command List]]