리미트 스위치#
소개#
limit 클래스는 물체와의 물리적 접촉을 감지하는 소형 디지털 센서인 리미트 스위치와 함께 사용됩니다.

클래스 생성자#
limit(
triport::port &port);
클래스 소멸자#
limit 객체를 파괴하고 관련 리소스를 해제합니다.
virtual ~limit();
매개변수#
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
리미트 스위치가 연결된 3선 포트는 |
예#
// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);
회원 기능#
limit 클래스에는 다음과 같은 멤버 함수가 포함됩니다.
pressing누르기 – 리미트 스위치가 눌리고 있는지 여부를 반환합니다.pressed눌림 – 리미트 스위치가 눌릴 때마다 호출될 함수를 등록합니다.released– 리미트 스위치가 해제될 때마다 호출될 함수를 등록합니다.
limit 멤버 함수를 호출하기 전에 아래와 같이 limit 인스턴스를 생성해야 합니다.
/* This constructor is required when using VS Code.
Limit Switch configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */
// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);
pressing#
리미트 스위치가 현재 눌려 있는지 여부를 반환합니다. 이 기능은 로봇이 다른 물체와 충돌하는지 확인하는 데 사용할 수 있습니다.
Available Functionsint32_t pressing();
이 함수는 매개변수를 받지 않습니다.
Return Values리미트 스위치가 눌렸는지 여부를 나타내는 int32_t 을 반환합니다.
1— 리미트 스위치가 눌리고 있습니다.0— 리미트 스위치가 눌리지 않았습니다.
pressed#
리미트 스위치가 눌렸을 때 호출될 함수를 등록합니다.
Available Functionsvoid pressed(
void (* callback)(void) );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
리미트 스위치가 눌렸을 때 호출될 함수에 대한 포인터입니다. |
이 함수는 값을 반환하지 않습니다.
Examples콜백 함수를 정의하십시오(
int main()외부).void switchPressed() { // The Brain will print that the Limit Switch was pressed // on the Brain's screen. Brain.Screen.print("switch pressed"); }
int main()내부에 콜백을 등록합니다.int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Run switchPressed when the Limit Switch is pressed. LimitSwitchA.pressed(switchPressed); }
released#
리미트 스위치가 해제될 때 호출될 함수를 등록합니다.
Available Functionsvoid released(
void (* callback)(void) );
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
리미트 스위치가 해제될 때 호출될 함수에 대한 포인터입니다. |
이 함수는 값을 반환하지 않습니다.
Examples콜백 함수를 정의하십시오(
int main()외부).void switchReleased() { // The Brain will print that the Limit Switch was released // on the Brain's screen. Brain.Screen.print("switch released"); }
int main()내부에 콜백을 등록합니다.int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Run switchReleased when the Limit Switch is released. LimitSwitchA.released(switchReleased); }