IMcInit()は通信ポート、局番、ボーレートを設定します。
void IMcInit(HardwareSerial& serialPort, uint8_t stationNo, long baudrate)
| コマンド | 引数 | 戻り値 | 動作 |
|---|---|---|---|
IMcInit(serialPort, stationNo, baudrate) | HardwareSerial& serialPort — 通信Serialuint8_t stationNo — 局番long baudrate — 通信速度 | void | 通信ポート、局番、ボーレートを設定します。 |
この例では、MPINO-16A8R8TのRS-485ポートSerial2、入力D22、トランジスタ出力D39を使用します。
void setup() { IMcMem(32, 32, 64, 64); // MC Protocolで使用するX・Y・M・Dメモリサイズを設定します。 IMcAdr(0, 0, 0, 0); // X・Y・M・Dメモリの開始アドレスを設定します。 IMcInit(Serial2, 1, 9600); // 通信ポート、局番、ボーレートを設定します。 } void loop() { IMcProtocol(); // 受信要求を確認し、MC Protocol応答を処理します。 if (X != nullptr) X[0] = digitalRead(22) == HIGH; if (Y != nullptr) digitalWrite(39, Y[0] ? HIGH : LOW); }
loop()でIMcProtocol()を継続的に呼び出します。M/Dを再割り当てすると、MC Protocolが参照していたアドレスが変わります。メモリサイズの設定はすべてsetup()で完了し、実行中は再呼び出ししないでください。nullptrでないことを確認してからアクセスします。