Arduino에서 전역 변수 정의

Ammar Ali 2023년10월12일
Arduino에서 전역 변수 정의

이 튜토리얼에서는 변수를 다른 모든 함수의 맨 위에서 초기화하여 Arduino에서 변수를 전역 변수로 정의하는 방법에 대해 설명합니다.

Arduino에서 전역 변수 정의

Arduino에서는 다양한 종류의 변수를 정의할 수 있습니다. 전역 변수는 코드의 모든 함수 내에서 액세스할 수 있는 변수입니다.

함수 내부에 변수를 정의하면 해당 변수는 해당 함수의 범위에서만 사용됩니다. 다른 함수 내에서 사용하려고 하면 Arduino는 변수가 이 범위에 정의되어 있지 않다는 오류를 표시합니다.

함수 외부와 Arduino 코드 내부에 있는 모든 함수의 맨 위에 변수를 정의하면 모든 함수 내에서 액세스할 수 있는 전역 변수가 됩니다. 전역 변수가 상수로 정의되지 않은 경우 함수 내부의 어느 지점에서나 해당 값을 변경할 수도 있습니다.

예를 들어 전역 변수를 정의하고 setup() 함수 내에서 해당 값을 변경해 보겠습니다.

예제 코드:

int global = 10;
void setup() {
  global = 20;
  Serial.begin(9600);
  Serial.println(global);
}

void loop() {}

출력:

20

위의 예제 코드에서 global 변수를 정의하고 10 값으로 초기화했습니다. Arduino의 시리얼 모니터를 사용하여 시리얼 모니터 창에 값을 표시했습니다.

Serial.begin() 함수는 주어진 baud 속도 또는 속도로 직렬 모니터를 초기화했습니다. 그리고 Serial.println() 함수는 주어진 값을 직렬 모니터 창에 출력하는 데 사용됩니다.

setup() 함수 아래에 변수를 정의한다고 가정합니다. 이 경우 setup() 함수 내에서 사용할 수 없지만 loop() 함수 또는 global 변수 아래에 정의된 다른 함수 내에서 사용할 수 있습니다.

전역 변수는 모든 함수 범위에서 변경할 수 있으므로 주의하여 사용하십시오.

전역 변수를 정의하지 않고 함수 내에서 선언하고 다른 함수 내에서 사용하려는 경우 변수를 해당 함수의 입력 인수로 전달할 수 있습니다.

예를 들어 setup() 함수 내부에 두 개의 변수를 정의하고 다른 함수 내부에 추가한 다음 setup() 함수에 결과를 반환하고 직렬 모니터에 출력합니다.

예제 코드:

void setup() {
  int a = 10;
  int b = 20;
  int c = add(a, b);
  Serial.begin(9600);
  Serial.println(c);
}

void loop() {}

int add(int aa, int bb) {
  int result = aa + bb;
  return result;
}

출력:

30

위의 코드에서 두 개의 정수 변수 ab를 정의하고 add() 함수 내부에 전달하여 합계를 찾은 다음 결과를 반환하고 c 변수에 저장했습니다. 이 예에서는 원래 변수를 변경하지 않습니다. 우리는 단지 다른 함수 내에서 그들의 값을 사용하고 있을 뿐입니다.

작가: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook