|
楼主 |
发表于 2018-8-25 10:17:57
|
显示全部楼层
好的
__task void Sevor1(void)
{
for(;;)
{
while(!flag) /* PA0 定时器2 Channl 1 */
{
if(led1pwmval<110)/* 膝舵机后摆 */
{
led1pwmval++;
}
else
flag=1;
os_dly_wait(15);
TIM_SetCompare1(TIM2,led1pwmval);
}
while(!flag2) /* PA1 定时器2 Channl 2 */
{
if(led2pwmval<100) /* 髋舵机后摆 */
{
led2pwmval++;
}
else
flag2=1;
os_dly_wait(35);
TIM_SetCompare2(TIM2,led2pwmval);
}
}
}
__task void Sevor2(void)
{
for(;;)
{
while(flag2)
{
if(led2pwmval>50) /* 髋舵机前伸 */
{
led2pwmval--;
}
else
flag2=0;
os_dly_wait(30);
TIM_SetCompare2(TIM2,led2pwmval);
}
while(flag)
{
if(led1pwmval>50) /* 膝舵机前伸 */
{
led1pwmval--;
}
else
flag=0;
os_dly_wait(8);
TIM_SetCompare1(TIM2,led1pwmval);
}
}
}
__task void Sevor3(void)
{
for(;;)
{
//os_dly_wait(1000);
while(!flag4) /* PA1 定时器2 Channl 2 */
{
if(led4pwmval<100) /* 髋舵机后摆 */
{
led4pwmval++;
}
else
flag4=1;
os_dly_wait(35);
TIM_SetCompare4(TIM2,led4pwmval);
}
while(!flag3) /* PA0 定时器2 Channl 1 */
{
if(led3pwmval<110)/* 膝舵机后摆 */
{
led3pwmval++;
}
else
flag3=1;
os_dly_wait(15);
TIM_SetCompare3(TIM2,led3pwmval);
}
}
}
__task void Sevor4(void)
{
for(;;)
{
while(flag3)
{
if(led3pwmval>50) /* 膝舵机前伸 */
{
led3pwmval--;
}
else
flag3=0;
os_dly_wait(8);
TIM_SetCompare3(TIM2,led3pwmval);
}
while(flag4)
{
if(led4pwmval>50) /* 髋舵机前伸 */
{
led4pwmval--;
}
else
flag4=0;
os_dly_wait(30);
TIM_SetCompare4(TIM2,led4pwmval);
}
}
}
感谢了! |
|