====== ImodbusRTUMem() ====== ''ImodbusRTUMem()''はSlaveで使用するM・Dメモリのサイズを設定します。 {{:ja-jp_commands:reference:imodbusrtumem.svg?900|ImodbusRTUMem コマンドの動作フロー}} ''void ImodbusRTUMem(uint16_t m_size, uint16_t d_size)'' ===== コマンド ===== ^ コマンド ^ 引数 ^ 戻り値 ^ 動作 ^ | ''ImodbusRTUMem(m_size, d_size)'' | ''uint16_t m_size''\\ ''uint16_t d_size'' | ''void'' | Slaveで使用するM・Dメモリのサイズを設定します。 | ===== 使用例 ===== void setup() { ImodbusRTUMem(100, 200); // Slaveが使用するM・Dメモリサイズを設定します。 ImodbusRTUAdr(0, 0); // M・Dメモリの開始アドレスを設定します。 ImodbusRTUInit(Serial1, 1, 115200); // 通信ポート、局番、ボーレートを設定します。 } void loop() { ImodbusRTU(); // 受信要求を確認し、Slave応答を処理します。 D[0] = 100; D[3] = 200; } ===== 注意事項 ===== * SlaveまたはMasterの実行関数を''loop()''で継続的に呼び出します。 * データ配列のサイズは要求quantity以上にしてください。 * 戻りコードのBUSYとIDLEを通信失敗として扱わないでください。 * Cnet/MC Protocolと''M''、''D''を共有する場合、最終サイズと初期化順序を統一します。''ImodbusRTUMem()''や''ICnetMem()''を実行中に再呼び出ししないでください。 * メモリ割り当て関数は成功状態を返しません。サイズが0でない場合、''M''、''D''が''nullptr''でないことを確認してからユーザーコードでアクセスしてください。 ===== 同じカテゴリの内蔵コマンド ===== * [[:ja-jp_commands:reference:imodbusrtuadr|ImodbusRTUAdr() 詳細説明を見る]] * [[:ja-jp_commands:reference:imodbusrtuinit|ImodbusRTUInit() 詳細説明を見る]] * [[:ja-jp_commands:reference:imodbusrtu|ImodbusRTU() 詳細説明を見る]] [[:ja-jp_commands:builtin|← 内蔵コマンド一覧]]