VEXcode Pro V5 жүйесінде параметрсіз Void функциясын жазу

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функциясы қозғалыс аяқталғанша қайтарылмайды. Бұл «синхрондалған» әрекет деп аталады – соңғы параметрtrueарқылы анықталады.

Пайдаланушы анықтайтын функцияны пайдаланбай:

int main() {
   vexcodeInit();  

   LeftMotor.resetPosition ();
   LeftMotor.setVelocity(100,0, пайыз);
   LeftMotor.spinToPosition(500,0, градус, шын);


   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, шын);

   Brain.Screen.printAt(5,100, "сек. 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

Тестіңіз ондық таңбалардағы өте аз маржа ішінде өзгеретінін ескеріңіз.

Пайдаланушы анықтайтын функциямен:

Келесі үлгі бір қайта пайдалануға болатын «функция» шақыруына әрекеттер жинағын түсіру жолын көрсетеді.

void 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, градус, шын);
   reportMotionValues();

   LeftMotor.resetPosition ();
   LeftMotor.setVelocity(-50,0, пайыз);
   LeftMotor.spinToPosition(-500,0, градус, шын);
   reportMotionValues();

}

Мұнда main() шақырушы функциясынан логикалық ағынның реттілігі көрсетілген:

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: