新手入门
- 积分
- 16
- 金钱
- 16
- 注册时间
- 2019-5-10
- 在线时间
- 3 小时
|
例程中的任务一运行次数为5次时挂起了任务2
if(task1_num==5)
{
OSTaskSuspend((OS_TCB*)&Task2_TaskTCB,&err);//任务1执行5次后挂起任务2
printf("任务1挂起了任务2!\r\n");
}
这时任务2停止运行,任务2控制的LED1灭,直到task1_num==10时任务2才恢复运行。
但如果将程序改为任务一运行次数为6次时挂起了任务2
即if(task1_num==6)
{
OSTaskSuspend((OS_TCB*)&Task2_TaskTCB,&err);//任务1执行5次后挂起任务2
printf("任务1挂起了任务2!\r\n");
}
这时任务2同样停止运行,但是发现任务2控制的LED1是亮着的,直到task1_num==10时任务2才恢复运行,LED1才继续闪。
故发现任务在被挂起后会保持上一次的运行结果,请问这是怎么回事呢??
如果想让任务1运行到某个时刻使任务2控制的灯直接灭掉该怎么写程序呢??
|
|