사용자 도구

사이트 도구


commands:reference:idown

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

commands:reference:idown [2026/09/01 20:04] – 만듦 - 바깥 편집 127.0.0.1commands:reference:idown [2026/09/08 00:53] (현재) – 바깥 편집 127.0.0.1
줄 11: 줄 11:
 ^ 명령어 ^ 인수 ^ 반환값 ^ 동작 ^ ^ 명령어 ^ 인수 ^ 반환값 ^ 동작 ^
 | ''Idown(id, input)'' | ''uint8_t id''\\ ''bool input'' | ''bool'' | 입력이 ON에서 OFF로 바뀌는 순간에만 true를 반환합니다. | | ''Idown(id, input)'' | ''uint8_t id''\\ ''bool input'' | ''bool'' | 입력이 ON에서 OFF로 바뀌는 순간에만 true를 반환합니다. |
 +
  
 ===== 예제 ===== ===== 예제 =====
  
 <code cpp> <code cpp>
-if (Idown(1digitalRead(0))) { +const uint8_t COMMAND_INPUT = 0; 
-  digitalWrite(32, LOW);+const uint8_t MOTOR_OUTPUT = 32; 
 + 
 +void setup() { 
 +  Serial.begin(115200); 
 +
 + 
 +void loop() { 
 +  const bool input = IdigitalRead(COMMAND_INPUT5);  // 입력을 여러 번 연속으로 읽고, 모든 값이 같을 때만 상태를 갱신합니다. HIGH와 LOW가 섞이면 이전 안정 상태를 유지합니다. 
 +  const bool started = Iup(0, input);  // 입력이 OFF에서 ON으로 바뀌는 순간에만 true를 반환합니다. 
 +  const bool stopped = Idown(0, input);  // 입력이 ON에서 OFF로 바뀌는 순간에만 true를 반환합니다. 
 +  static bool run = false; 
 +  Ialt(started, run);  // 입력 상승 순간마다 지정한 상태를 ON·OFF로 반전합니다. 
 + 
 +  digitalWrite(MOTOR_OUTPUTrun ? HIGH : LOW); 
 +  if (started) Serial.println(F("motor started")); 
 +  if (stopped) Serial.println(F("command released"));
 } }
 </code> </code>
줄 23: 줄 39:
  
 서로 다른 신호에 같은 ''id''를 사용하면 이전 상태가 섞일 수 있습니다. ''Iscale'' 입력 범위의 최솟값과 최댓값을 같게 지정하지 마십시오. 서로 다른 신호에 같은 ''id''를 사용하면 이전 상태가 섞일 수 있습니다. ''Iscale'' 입력 범위의 최솟값과 최댓값을 같게 지정하지 마십시오.
 +
 +===== 같은 카테고리의 내장 명령어 =====
 +
 +  * [[commands:reference:iup|Iup() 상세 설명 보기]]
  
 [[commands:builtin|← 내장 명령어 리스트]] [[commands:builtin|← 내장 명령어 리스트]]
  
commands/reference/idown.1788260660.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki