The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
샘플: 로봇이 직선 거리를 이동하기 위한 샘플 프로그램
다음 기능을 사용하면 로봇이동안 앞으로 실행할 수 있습니다. totalEnc
인코더. V5 Clawbot 구성을 사용합니다.
이spinToPosition
함수는 이동이 완료될 때까지 반환되지 않습니다. 이것을 "동기화된" 작업이라고 합니다. 마지막 매개변수참
.
사용자 정의 함수를 사용하지 않고:
int main() { vexcodeInit(); LeftMotor.resetPosition(); LeftMotor.setVelocity(100.0, 퍼센트); LeftMotor.spinToPosition(500.0, deg, true); Brain.Screen.printAt(5,30, "secs rev deg" ); Brain.Screen.printAt(5,60, "%.2f: %8.2f > %8.2f", Brain.Timer.value(), LeftMotor.position(rev), LeftMotor.position(deg)); 대기(1000, 밀리초); LeftMotor.resetPosition(); LeftMotor.setVelocity(-100.0, 퍼센트); LeftMotor.spinToPosition(-1000.0, c, true); Brain.Screen.printAt(5,100, "secs rev deg" ); Brain.Screen.printAt(5,130, "%%.2f: %8.2f %8.2f", Brain.Timer.value(), LeftMotor .position(rev), LeftMotor.position(deg)); 대기(1000, 밀리초);
}
샘플은 다음과 같은 결과를 제공할 수 있습니다.
초 원시 회전 각도 2.06 5445 3.12 1089
테스트는 소수 자릿수의 아주 작은 여백 내에서 달라질 수 있습니다.
사용자 정의 함수 사용:
다음 샘플은 일련의 작업을 재사용 가능한 단일 '함수' 호출로 캡처하는 방법을 보여줍니다.
무효 reportMotionValues() { Brain.Screen.printAt(5, 60, "%.2f: %8.2f %8.2f", Brain.Timer.value(), LeftMotor.position(rev), LeftMotor.position(deg)); } int main() { vexcodeInit(); LeftMotor.resetPosition(); LeftMotor.setVelocity(50.0, 퍼센트); LeftMotor.spinToPosition(500.0, deg, true); reportMotionValues(); LeftMotor.resetPosition(); LeftMotor.setVelocity(-50.0, 퍼센트); LeftMotor.spinToPosition(-500.0, deg, true); reportMotionValues(); }
다음은 호출자 함수 main()의 논리 흐름 시퀀스를 보여줍니다.