OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3911|回复: 1

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

[复制链接]

7

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
133
金钱
133
注册时间
2016-9-14
在线时间
25 小时
发表于 2017-3-14 14:23:27 | 显示全部楼层 |阅读模式
10金钱
无耻的我又来求助了
写了个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\n",ADPA0);
                        PDout(13)=0;
                        PDout(11)=0;
                        break;
                }
        }
        else
        {
        }
        ENABLEA=0;
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-3-14 17:05:27 | 显示全部楼层
只能单步运行不能全速说明你代码某个地方需要做延时处理,一般可能是需要等待某个外设就绪或者其他的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-14 07:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表