无耻的我又来求助了
写了个freertos的一个任务,在这个任务里面又调用了一个函数,这个函数里面又有一个while循环检测,现在发现全速运行不会调用这个函数,加上断点之后,单步运行,可以一步一步执行这个函数,代码如下,请各位大哥多多帮忙!
这就是那个任务:
static void vTaskM1(void *pvParameters)
{
float a;
while(1)
{
if( xQueueReceive( M1,&a,0) == pdPASS)
{
mentorA(a);
}
vTaskDelay(200);
}
}
//这是那个函数
void mentorA(float temp)
{
PDout(13)=0;
PDout(11)=0;
ENABLEA=1;
if(temp>0)
{
float a=ADPA0;
a+=temp*1/30;
PDout(13)=1;
PDout(11)=0;
while(ADPA0>=a)
{
PDout(13)=0;
PDout(11)=0;
break;
}
}
else if(temp<0)
{
float a=ADPA0;
a+=temp*1/30;
PDout(13)=0;
PDout(11)=1;
while(ADPA0<=a)
{
printf("%f
",ADPA0);
PDout(13)=0;
PDout(11)=0;
break;
}
}
else
{
}
ENABLEA=0;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>