====== IMcInit() ====== ''IMcInit()''は通信ポート、局番、ボーレートを設定します。 {{:ja-jp_commands:reference:imcinit.svg?900|IMcInit コマンドの動作フロー}} ''void IMcInit(HardwareSerial& serialPort, uint8_t stationNo, long baudrate)'' ===== コマンド ===== ^ コマンド ^ 引数 ^ 戻り値 ^ 動作 ^ | ''IMcInit(serialPort, stationNo, baudrate)'' | ''HardwareSerial& serialPort'' — 通信Serial\\ ''uint8_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()''を継続的に呼び出します。 * X/Yの16進数アドレスとM/Dの10進数アドレスを混同しないでください。 * ポインタを割り当てる前にX/Y/M/Dを使用しないでください。 * CnetまたはModbusが実行中に共有''M''/''D''を再割り当てすると、MC Protocolが参照していたアドレスが変わります。メモリサイズの設定はすべて''setup()''で完了し、実行中は再呼び出ししないでください。 * 割り当て関数は成功状態を返しません。サイズが0でない場合、該当するグローバルポインタが''nullptr''でないことを確認してからアクセスします。 ===== 同じカテゴリの内蔵コマンド ===== * [[:ja-jp_commands:reference:imcmem|IMcMem() 詳細説明を見る]] * [[:ja-jp_commands:reference:imcadr|IMcAdr() 詳細説明を見る]] * [[:ja-jp_commands:reference:imcprotocol|IMcProtocol() 詳細説明を見る]] [[:ja-jp_commands:builtin|← 内蔵コマンド一覧]]