ユーザ用ツール

サイト用ツール


ja-jp_commands:reference:imcadr

文書の過去の版を表示しています。


IMcAdr()

IMcAdr()はX・Y・M・Dメモリの開始アドレスを設定します。

IMcAdr コマンドの動作フロー

void IMcAdr(uint16_t x_offset, uint16_t y_offset, uint16_t m_offset, uint16_t d_offset)

コマンド

コマンド 引数 戻り値 動作
IMcAdr(x_offset, y_offset, m_offset, d_offset) uint16_t x_offset
uint16_t y_offset
uint16_t m_offset
uint16_t d_offset
void X・Y・M・Dメモリの開始アドレスを設定します。

使用例

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] = IdigitalRead(0, 5);  // 入力を連続して複数回読み、すべて一致した場合のみ状態を更新します。HIGHとLOWが混在する場合は前の安定状態を保持します。
  if (Y != nullptr) digitalWrite(32, 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/imcadr.1788791737.txt.gz · 最終更新: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki