在线时间21 小时
UID2003041
注册时间2013-4-19
NXP金币0
该用户从未签到
注册会员

- 积分
- 138
- 最后登录
- 1970-1-1
|
void Task2_task(uint32_t task_init_data)
{
int counter1 = 0,counter2 = 0;
while(1) {
counter1++;
if (_mutex_lock(&print_mutex) != MQX_OK) {
printf("Mutex lock failed.\n");
_task_block();
}
counter2++;
printf("I'm in Task2!%d\n",counter1);
_time_delay_ticks(10);
_mutex_unlock(&print_mutex);
}
}
这个任务会导致堆栈溢出,并且使得另一个使用互斥print_mutex的任务溢出。
但如果红色那句改为 printf("I'm in Task2!\n",); 即不打印数值,两个任务堆栈则剩余很多,都不溢出
这是为什么,打印个数值会消耗很多堆栈吗?
|
|