freertos只能单步运行,不能全速

2019-07-20 16:12发布

无耻的我又来求助了
写了个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;
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。