新手入门
- 积分
- 10
- 金钱
- 10
- 注册时间
- 2017-6-2
- 在线时间
- 4 小时
|
1金钱
求大神帮我注释下面这段代码,谢谢了
unsigned int speed_va[10]={0};
void TIM3_IRQHandler(void)
{
static unsigned int i = 0;
if(TIM3->SR & 1)
{
speed+= SpeedTimCount;
speed = speed /2;
if(speed>(set_ok-20 )&&speed<(set_ok+20 ))speed=set_ok;
SpeedTimCount = 0;
filter();
curr = ab[0];
b = PID1_Computer(set_ok,speed);
if(b>0)
{
value=b+value;
}
if(b < 0)
{
if((-b)>value)
value=0;
else
value=b+value;
}
// if(value>200)value=200;
if(value<0)value = 0;
if(curr>((value+40)-12 )&&curr<((value+40)+12 ))curr=(value+40);
s = PID_Computer(value+40,curr);
if(s>0)
{
PWM=s+PWM;
}
if(s < 0)
{
if((-s)>PWM)
PWM=0;
else
PWM=s+PWM;
}
if(PWM>1000)PWM=999;
if(PWM<0)PWM = 0;
if(lock == 1)
change(500,500,500,PWM);
else
{
change(500,500,500,0);
}
TIM3->SR = (unsigned short)~0x0001;
}
}
|
|