本文整理汇总了C++中Motor::degreeLock方法的典型用法代码示例。如果您正苦于以下问题:C++ Motor::degreeLock方法的具体用法?C++ Motor::degreeLock怎么用?C++ Motor::degreeLock使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Motor
的用法示例。
在下文中一共展示了Motor::degreeLock方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(void)
{
Can0 can;
can.setup();
Buzzer buzzer;
Led0 led0;
Led1 led1;
Led2 led2;
Led3 led3;
A1 limBack;
A3 limFlont;
Serial1 serial1;
led0.setupDigitalOut();
led1.setupDigitalOut();
led2.setupDigitalOut();
led3.setupDigitalOut();
buzzer.setupDigitalOut();
CanEncoder canEncoder0(can,0,5);
CanEncoder canEncoder1(can,1,5);
CanEncoder canEncoder2(can,2,5);
canEncoder0.setup();
canEncoder1.setup();
canEncoder2.setup();
Motor motor;
Connection control;
Testmotor t;
R1350n r1350n(serial1);
r1350n.setup();
int timeLed=0;
Position position(canEncoder0,canEncoder1,canEncoder2);
buzzer.digitalHigh();
while(1){
if(control.dispose==0){
led0.digitalWrite(1);
}
else if(control.dispose==1){
led1.digitalWrite(1);
}
else if(control.dispose==2){
led2.digitalWrite(1);
}
if(control.member==1){
led3.digitalWrite(1);
}
else if(control.member==2){
if(millis()-timeLed>=500){
led3.digitalToggle();
timeLed=millis();
}
}
if(millis()-control.period>=cycle){
control.period=millis();
if(control.sw==0&&millis()-control.time>1000){
control.switch0();
}
if(control.sw==1){
position.radian(r1350n.angle());
position.selfPosition();
control.xy(position.integralx,position.integraly);
if(control.spinNumber[control.member][control.dispose][control.point]==1){
motor.motorControl(control.devietionX,control.devietionY);
motor.degreeLock(position.rad);
// motor.testmotor();
motor.last();
motor.dutyCleanUp();
if(control.point<5){
control.coordinatePoint(motor.distance);
}
}
else if(control.spinNumber[control.member][control.dispose][control.point]==0){
motor.angle(position.degree,position.degree);
control.spinControl(position.degree);
}
if(control.actionNumber[control.member][control.dispose][control.point]==1){
if(control.armpwm[control.member][control.dispose][control.point]!=0){
control.armTime();
}
control.arm();
motor.armMotor(control.armpwmC,control.armcwC,control.armccwC);
}
control.indication(position.encf[0],position.encf[1],position.encf[2],position.degree,position.integralx,position.integraly,r1350n.angle());
}
if(millis()-control.time>1000){
control.switch0();
}
}
}
return 0;
}