<head>
<!-- HTML Meta Tags -->
<meta charset="UTF-8" />
<title> 제목 </title>
<meta
name="description" content=" 설명 " />
<meta name="keywords" content="키워드, 양파고, Yang Phago, 노션, 양파고 노션, notion" />
<!-- Open Graph / Facebook -->
<meta property="og:title" content="제목 " />
<meta property="og:description" content=" 설명, 양파고, Yang Phago, 노션, 양파고 노션 " />
<meta property="og:image" content="대표 이미지" />
<meta property="og:url" content="페이지 주소" />
<meta property="og:type" content="website" />
</head>
<aside> 💡 delay함수가 이상한 이유: 매개변수에 정한 시간(밀리 초) 동안 프로그램 멈춤. (1초는 1000 밀리 초) ❓멈춘동안 다른 그 어떤것도 하지 못함
</aside>
Q. 아두이노에서 다음과 같은 상황이 가능할까?
int green=10;
int red=9;
int push=3;
void setup() {
pinMode(green, OUTPUT);
pinMode(red, OUTPUT);
pinMode(push, INPUT);
}
void loop() {
digitalWrite(green, HIGH);
delay(1000);
digitalWrite(green, LOW);
delay(1000);
digitalWrite(red, digitalRead(push));
delay(10);
}
😒이런 식의 작동방식이 떠오르겠지만, 결론은 안됨
👎 delay()함수를 사용하게 되면 delay시간동안 아무것도 하지 않고 “기다리기 때문”에 하나의 동작이 끝나야 다음 동작을 하게 됨
➡️ 결론: 여러가지의 동작(=작업)을 동작하려는 시간에 정확하게 동작하게 하기 위해서는 delay가 없는 코드를 사용해야 함
“시간함수(millis)”
**를 사용ProtoThread
, **FreeRTOS
**와 같은 라이브러리를 사용