ucos2系统中任务的堆栈跟开始任务的堆栈有什么不同?
2个回答
展开全部
每一个任务可以看成一个函数,每个函数都有自己的堆栈,当前函数调用的子函数也是用该任务的堆栈。堆栈是在启动前静态赋予任务的。
追问
感谢你的回答!我看到别人写的一个程序,他为什么还要设置一个开始任务的堆栈呢?
#define TASK_STK_SIZE 512 /* 每个任务堆栈的大小(以字计算)*/
#define N_TASKS 10 /* 任务数*/
OS_STK TaskStk[N_TASKS][TASK_STK_SIZE]; /*任务堆栈*/
OS_STK TaskStartStk[TASK_STK_SIZE]; //开始任务的堆栈
……
追答
从C程序运行堆栈的作用来看,里面回放临时变量,传递来的参数等等,既然初始任务也是C函数,当然要有堆栈了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询