ICnetInit() sets the communication port, station number and baud rate.
void ICnetInit(HardwareSerial& serialPort, uint8_t slaveId, long baudrate)
| Command | Arguments | Return Value | Operation |
|---|---|---|---|
ICnetInit(serialPort, slaveId, baudrate) | HardwareSerial& serialPort — Serial port for communicationuint8_t slaveId — Station numberlong baudrate — Baud rate | void | Sets the communication port, station number and baud rate. |
This example uses the MPINO-16A8R8T RS-485 port Serial2, input D22, and transistor output D39.
void setup() { ICnetMem(64, 64, 16); // Set the M·D·R memory sizes used by Cnet Slave. ICnetAdr(0, 0, 0); // Set the start addresses of M·D·R memory. ICnetInit(Serial2, 1, 9600); // Set the communication port, station number and baud rate. if (M != nullptr) M[0] = false; } void loop() { ICnet(); // Check incoming requests and process Cnet Slave responses. if (M != nullptr) M[0] = digitalRead(22) == HIGH; if (D != nullptr) digitalWrite(39, D[0] ? HIGH : LOW); }
ICnet() in loop().ICnetMem() and ImodbusRTUMem() reallocate shared M/D. Assign final size management to only one of them and initialize both protocols after the last reallocation.M, D and R are nullptr before accessing them in user code.