아날로그 입력#

소개#

analog_in 클래스는 VEX EXP 3선 포트에 연결된 장치에서 아날로그 입력 신호를 읽는 데 사용됩니다. 이 클래스는 현재 아날로그 값에 접근할 수 있도록 하며, 값 변경에 대한 콜백 함수를 등록할 수 있도록 합니다.

클래스 생성자#

analog_in(
    triport::port &port );

클래스 소멸자#

analog_in 객체를 파괴하고 관련 리소스를 해제합니다.

~analog_in();

매개변수#

매개변수

유형

설명

port

triport::port&

아날로그 입력이 연결된 3선 포트는 Brain.ThreeWirePort.X 또는 ExpanderName.X과 같이 표기되며, 여기서 X 는 포트 문자입니다(예: Brain.ThreeWirePort.A 또는 Expander1.A).

예#

// Create the analog_in instance on 3-Wire Port A
analog_in AnalogInA = analog_in(Brain.ThreeWirePort.A);

회원 기능#

analog_in 클래스는 다음과 같은 멤버 함수를 포함합니다.

  • value — 아날로그 입력 장치의 값을 반환합니다.

  • changed — 아날로그 입력 값이 변경될 때 콜백 함수를 등록합니다.

analog_in 멤버 함수를 호출하기 전에 아래와 같이 analog_in 인스턴스를 생성해야 합니다.

/* This constructor is required to use an
Analog Input device. Replace the values
as needed. */

// Create the analog_in instance on 3-Wire Port A
analog_in AnalogInA = analog_in(Brain.ThreeWirePort.A);

value#

아날로그 입력의 현재 값을 반환합니다.

Available Functions
int32_t value(
  analogUnits units );

Parameters

매개변수

유형

설명

units

analogUnits

값을 나타내는 단위:

  • range8bit — 8비트 아날로그 값(256가지 상태를 가질 수 있는 값)
  • range10bit — 10비트 아날로그 값(1024가지 상태를 가질 수 있는 값)
  • range12bit — 12비트 아날로그 값(4096가지 상태를 가질 수 있는 값)
  • pct — 백분율
  • mV — 밀리볼트

Return Values

이 함수는 아날로그 입력의 현재 값을 반환합니다.

Examples
// Get the current value of the Analog Input
int32_t value = AnalogInA.value();

changed#

아날로그 입력값이 변경될 때 호출될 콜백 함수를 등록합니다.

Available Functions
void changed( void (* callback)(void) );

Parameters

매개변수

유형

설명

callback

void (* callback)(void)

아날로그 입력값이 변경될 때 호출될 함수입니다.

Return Values

이 함수는 값을 반환하지 않습니다.

Examples

콜백 함수를 정의하십시오( int main() 외부).

// Display a message when the input changes
void AnalogInputChanged() {
  Brain.Screen.print("analog input changed");
}

int main() 내부에 콜백을 등록합니다.

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run AnalogInputChanged when the value of the
  // Analog Input changes
  AnalogInA.changed(AnalogInputChanged);
}