[STM32F1] 初学STM32F1,关于OSStartHighRdy()的问题,请教一下高手

[复制链接]
3934|6
 楼主| 气持5 发表于 2014-3-21 14:29 | 显示全部楼层 |阅读模式
高手帮帮忙,指点指点。
下面main()函数里面return 0会被执行吗?
int main(void)
{
   CPU_INT08U os_err;
   BSP_IntDisAll();                                            /* Disable all ints until we are ready to accept them.  */
   OSInit();                                                   /* Initialize "uC/OS-II, The Real-Time Kernel".         */
   BSP_Init();                                                 /* Initialize BSP functions.  */

   ReaderParamInit(); //   
    os_err = OSTaskCreate((void (*) (void *)) App_TaskStart,
               /* Create the start task.                               */
                          (void *) 0,
               (OS_STK *) &App_TaskStartStk[APP_TASK_START_STK_SIZE - 1],
               (INT8U) APP_TASK_START_PRIO);
   //printf("Creat App_TaskStart!\r\n");
   OSTimeSet(0);
   OSStart();                                                  /* Start multitasking (i.e. give control to uC/OS-II).  */

   return 0;
}
hualiming025 发表于 2014-3-24 16:16 | 显示全部楼层
return0不会被执行,这个main函数执行到OSStart()之后就进入ucos系统了,接下来被执行的是一个个任务,main()函数也就执行到此为止,其中的代码再也不会被执行了,除了复位
shangwei4444 发表于 2014-3-24 16:39 | 显示全部楼层
楼上正解,ucos每个任务都是死循环,操作系统在各个任务间进行调度,不会再回到main.
 楼主| 气持5 发表于 2014-3-27 15:13 | 显示全部楼层
shangwei4444 发表于 2014-3-24 16:39
楼上正解,ucos每个任务都是死循环,操作系统在各个任务间进行调度,不会再回到main. ...

如果我执行某个任务时,就绪任务中并没有优先级更高的任务,是不是就会在当前运行的任务中一直循环,死在里面了?
 楼主| 气持5 发表于 2014-3-27 15:20 | 显示全部楼层
hualiming025 发表于 2014-3-24 16:16
return0不会被执行,这个main函数执行到OSStart()之后就进入ucos系统了,接下来被执行的是一个个任务,ma ...

明白了,谢谢!
还想问下,要是当前任务运行中,来了一个中断,当前运行的任务是不是就会变成就绪任务?
hualiming025 发表于 2014-3-27 16:23 | 显示全部楼层
气持5 发表于 2014-3-27 15:20
明白了,谢谢!
还想问下,要是当前任务运行中,来了一个中断,当前运行的任务是不是就会变成就绪任务? ...

额,这个还不太清楚,要分析源代码才能知道,有人知道答案吗?
shangwei4444 发表于 2014-4-1 14:17 | 显示全部楼层
气持5 发表于 2014-3-27 15:13
如果我执行某个任务时,就绪任务中并没有优先级更高的任务,是不是就会在当前运行的任务中一直循环,死在 ...

任务状态

任务状态

1、如果你所说的运行任务不被中断、没有延迟、不被删除...
总之不会转到另一个状态,理论上说真的死循环了。
2、任务被中断后,会进入中断服务子程序,从中断服务子程序返回之前,
μC/OS-Ⅱ要判定,被中断的任务是否还是就绪态任务中优先级最高的,
也就是说会进行一次任务调度。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

17

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部