硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2074|回复: 5
收起左侧

[μCOS-III] 请教下ucosiii 例程中开始任务中出现while循环怎么看不懂

[复制链接]

2

主题

16

回帖

22

积分

新手上路

积分
22
发表于 2021-7-21 13:47:56 | 显示全部楼层 |阅读模式
在看ucosiii 例程中
static  void  AppTaskStart (void *p_arg)
{
OS_ERR      err;

   (void)p_arg;
   
    CPU_Init();
     bsp_Init();
    BSP_Tick_Init();
   
#if OS_CFG_STAT_TASK_EN > 0u
     OSStatTaskCPUUsageInit(&err);   
#endif

#ifdef CPU_CFG_INT_DIS_MEAS_EN
    CPU_IntDisMeasMaxCurReset();
#endif
   
    /* 创建任务 */
    AppTaskCreate();  

    /* 创建任务通信 */
    AppObjCreate();
   
    while (1)
    {  
        bsp_KeyScan();
        OSTimeDly(10, OS_OPT_TIME_DLY, &err);
    }


}

while (1)  语句有些疑问, 开始任务之后 不就是不在执行了吗,还能再执行到 while (1) 语句吗


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2021-7-21 14:41:05 | 显示全部楼层
这个是启动任务AppTaskStart

也是一个独立的任务,如果程序里面没有终止其执行,可以一直运行。
回复

使用道具 举报

2

主题

16

回帖

22

积分

新手上路

积分
22
 楼主| 发表于 2021-7-21 15:17:09 | 显示全部楼层
eric2013 发表于 2021-7-21 14:41
这个是启动任务AppTaskStart

也是一个独立的任务,如果程序里面没有终止其执行,可以一直运行。

执行红色标记之后 不就是 不返回 AppTaskStart 任务了吗,

难道如果不终止  不停的执行AppTaskStart 里边的 不断创建信号,不断创建任务吗?


22222.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2021-7-21 18:48:09 | 显示全部楼层
电子过客 发表于 2021-7-21 15:17
执行红色标记之后 不就是 不返回 AppTaskStart 任务了吗,

难道如果不终止  不停的执行AppTaskStart  ...

理解有偏差,执行流程你搞错了。

调用了函数OSStart后才会启动OS,才会进入到任务AppTaskStart。

进入后一直刷while死循环里面的代码,而不会再去刷AppTaskStart任务里面while之前的代码。
回复

使用道具 举报

2

主题

16

回帖

22

积分

新手上路

积分
22
 楼主| 发表于 2021-7-21 19:50:48 | 显示全部楼层
eric2013 发表于 2021-7-21 18:48
理解有偏差,执行流程你搞错了。

调用了函数OSStart后才会启动OS,才会进入到任务AppTaskStart。

感谢您的答复明白了,您说的调用了函数OSStart后才会启动OS,才会进入到任务AppTaskStart  

也就是第一次进入AppTaskStart  执行建立信号和任务动作,第二次进入就和普通任务一样了在while 里切换这样理解对吗?


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2021-7-21 20:31:11 | 显示全部楼层
电子过客 发表于 2021-7-21 19:50
感谢您的答复明白了,您说的调用了函数OSStart后才会启动OS,才会进入到任务AppTaskStart  

也就是第 ...

理解的还是有点小问题。

AppTaskStart 是个独立的任务,他会一直执行,直到到他放弃CPU权限或者有高优先级任务抢占,又或者时间片调度。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-15 16:59 , Processed in 0.170412 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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