Serial.println(„- 노란색 LED가 켜져 있는 시간이 얼마입니까?“); 입력에 대한 프롬프트 사용자 (Serial.available()=0)= { } //사용자 입력 노란색OnTime에 대한 대기 = Serial.parseInt(); 읽기 사용자 입력 void 루프() { Serial.println(„빨간색 LED가 깜박이기를 몇 번이나 하시겠습니까?“); //인쇄 내부 „“(Serial.available(==0) { } //프롬프트 사용자 numRedBlinks=Serial.parseInt(); int에 값을 할당합니다. 같은 문제. 동안 (Serial.available()==0){{ } //대기 입력이 0으로 다시 변경되지 않고 코드가 다음 줄로 이동합니다. 다음 줄은 0이 아닌 값으로 „입력 대기“하지 않습니다. 동안 을 사용 하 여 (Serial.available()=1)==1){ } //대기 입력 상태를 반전 하 고 두 번째 질문 의 경우 대답에 관계 없이 무기한 유지 됩니다., 대답을 사용 하 여 이스케이프 논리를 만들지 않는 한. 그런 다음 실행 루틴이 끝날 때 응답 값을 0으로 반환합니다. 같은 대답 더 큰 다음 루프 동안 제로 탈출. 그런 다음 프로그램의 끝에서 답변을 지웁습니다. 위의 예에서는 스케치가 실행될 때 직렬 모니터 창에 출력이 보이지 않습니다. while 루프는 false로 평가한 다음 실행이 빈 주 Arduino 루프로 바로 떨어집니다. 모든 문은 테스트 식이 평가되기 전에 루프 본문에서 실행됩니다. do-while 루프는 이벤트를 기다리는 것과 유사하지만 조건이 충족되는 동안 while 루프가 실행되는 반면 do-while은 조건이 충족된 후 한 번 이상 실행됩니다.

아래에서 두 개의 다이어그램, 왼쪽의 while 루프, 오른쪽의 do-while: for 루프는 루프의 일부로 초기화 식을 가지고 있습니다. while 루프는 유효한 값을 포함하는 스케치의 모든 변수를 사용할 수 있습니다. 예제 스케치에서 루프 (i)에 사용되는 변수는 정의 될 때 초기화되어야하며 그렇지 않으면 임의의 값이 포함됩니다. 이 스케치에서 sum이라는 변수가 정의되고 0으로 초기화됩니다. sum값이 25 미만인 경우 while 루프의 테스트 식은 테스트합니다. void 루프() { // 메인 코드를 여기에 넣어 반복적으로 실행합니다: Serial.println(소개); 지연(2500); Serial.println(„빨간색 LED가 깜박이기를 몇 번이나 하시겠습니까?“); 동안 (Serial.사용 가능한 ==0){ } numRed=Serial.parseInt(); 직렬.println (레드소개); 지연 (2000); 에 대 한 (int j =1; j „); 직렬.println(j); 디지털 쓰기 (레드 LED, 높은); 지연 (500); 디지털 쓰기 (레드 LED, 낮은); 지연 (500); } 지연 (1000); 직렬.println (); Serial.println(„노란색 LED가 깜박이기를 몇 번이나 하시겠습니까?“); 동안 (Serial.사용 가능한 ==0){ / / 문제를 보여주는 줄…..<—- numYellow=Serial.parseInt(); 직렬.println (노란색소개); 지연 (2000); 에 대 한 (int j =1; j "); 직렬.println(j); 디지털 쓰기 (노란색LED, 높은); 지연 (500); 디지털 쓰기 (노란색LED, 낮음); 지연(500);} } 주석이 있는 줄에 문제가 표시됩니다. 관심을 가져 주셔서 감사합니다…. 메인 루프에서 아래 스케치는 아날로그 핀 0의 포토 레지스트 값을 읽고 핀 9의 LED를 페이드 하는 데 사용합니다.

아두이노 while 문 예제