关于:freertos中的任务1中的某个函数里定义的局部变量的值的疑问。
freertos中的任务1中的某个函数里定义的局部变量unsigned char abc=0;
abc =2;
在任务1被切换出后,再从其他任务2调度回任务1,
这个时候任务1的局部变量abc的值是重新被初始化成了0,还是2?
还是2。 只要任务没有被人为终止/删除,它的局部变量一直都在的。 caicaptain2 发表于 2021-2-23 11:14
还是2。 只要任务没有被人为终止/删除,它的局部变量一直都在的。
那不相当于static定义的变量了? 发生任务切换时,这个任务函数的局部变量值保存在任务栈里,只要任务还存在,任务栈没被释放,这个局部变量就一直都在,是不是可以这么理解? 任务就是函数,函数不退出,局部变量都在栈里面,开心的待着。 bear_yh 发表于 2021-2-23 13:25
那不相当于static定义的变量了?
可以这么认为。 2,局部变量压到任务栈里面了。就是创建任务时定义的那个数组就是用来干这个事情的。
页:
[1]