ユーザ用ツール

サイト用ツール


ja-jp_commands:reference:filo

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
ja-jp_commands:reference:filo [2026/09/08 00:53] – 바깥 편집 127.0.0.1ja-jp_commands:reference:filo [2026/09/14 20:30] (現在) – 外部編集 127.0.0.1
行 14: 行 14:
  
 ===== 使用例 ===== ===== 使用例 =====
 +
 +シリアルモニタから''a''を送ると次の番号を保存し、''p''を送ると最後に保存した番号を取り出します。''c''でバッファを消去します。1文字ずつ送って動作を確認できます。
  
 <code cpp> <code cpp>
-uint16_t fifoValue = 0; +uint16_t nextNumber = 0; 
-uint16_t filoValue = 0; +uint16_t lastNumber = 0;
-uint16_t sequence = 0;+
  
 void setup() { void setup() {
行 25: 行 26:
  
 void loop() { void loop() {
-  const bool store = Iup(0, IdigitalRead(0, 5));  // 入力を連続して複数回読み、すべて一致した場合のみ状態を更新します。HIGHとLOWが混在する場合は前の安定状態を保持します。 / 入力がOFFからONに変わる瞬間だけtrueを返します。 +  if (!Serial.available()) return
-  const bool release Iup(1, IdigitalRead(1, 5));  // 入力を連続して複数回読み、すべて一致した場合のみ状態を更新します。HIGHとLOWが混在する場合は前の安定状態を保持します。 / 入力がOFFからONに変わる瞬間だけtrueを返します。 +  const char action Serial.read(); 
-  const bool reset IdigitalRead(2, 5);  // 入力を連続して複数回読み、すべて一致した場合のみ状態を更新します。HIGHとLOWが混在する場合は前の安定状態を保持します。+  const bool store = action == 'a'; 
 +  const bool retrieve action == 'p'; 
 +  const bool clearBuffer = action == 'c'; 
 +  if (store++nextNumber;
  
-  if (store) ++sequence; +  const bool ok FILO(0, store, retrievenextNumberlastNumber, 16, clearBuffer);  // 番号を保存し、取り出し信号で最後の番号を読み出します。 
-  const bool fifoOk FIFO(0, store, releasesequencefifoValue, 16, reset);  // 先に保存した16ビットデータからします。 +  FILO(0, falsefalsenextNumberlastNumber, 16, false);  // 次の文字でも立ち上がり信号を作れるよう入力をLOWします。 
-  const bool filoOk = FILO(0, storereleasesequencefiloValue, 16, reset);  // 保存した16ビットデータから出力します。 +  if (retrieve && ok) Serial.println(lastNumber); 
-  if (release && fifoOk && filoOk+  if (retrieve && !ok) Serial.println(F("Buffer empty"));
-    Serial.print(F("oldest=")); Serial.print(fifoValue)+
-    Serial.print(F(", newest=")); Serial.println(filoValue); +
-  }+
 } }
 </code> </code>
ja-jp_commands/reference/filo.1788796396.txt.gz · 最終更新: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki