en-us_commands:reference:icnet
This is an old revision of the document!
Table of Contents
ICnet()
Commands
| Command | Arguments | Return Value | Operation |
|---|---|---|---|
ICnet() | None | void | Checks incoming requests and handles Cnet Slave responses. |
Example
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] = IdigitalRead(0, 5); // Read the input repeatedly and update only if all samples match. If HIGH and LOW are mixed, retain the previous stable state. if (D != nullptr) digitalWrite(32, D[0] ? HIGH : LOW); }
Precautions
- Keep calling
ICnet()inloop(). - Set M/D/R sizes within the available SRAM.
- When sharing memory with Modbus, check for duplicate allocation and address conventions. Both
ICnetMem()andImodbusRTUMem()reallocate sharedM/D. Assign final size management to only one of them and initialize both protocols after the last reallocation. - Allocation functions do not return success status. Check whether
M,DandRarenullptrbefore accessing them in user code.
Built-in Commands in the Same Category
en-us_commands/reference/icnet.1788796398.txt.gz · Last modified: by 127.0.0.1
