| 
				打卡等级:以坛为家II打卡总天数:592最近打卡:2025-10-31 10:02:21   高级会员 
 
 
	积分713 
 | 
 
 发表于 2025-4-24 16:05:32
|
显示全部楼层 
| 翻译了楼主首页的协程2: _this_task=2;
 if(task_num<Task_Max_Num)
 switch(user_task[_this_task].state)
 {
 case 0:
 ;
 user_task[_this_task].state=__LINE__;
 user_task[_this_task].time=1000;
 case __LINE__:
 if(user_task[_this_task].time!=0)break;;
 cnt1=0;
 user_task[_this_task].state = __LINE__;
 case __LINE__:
 for(_task_for_cnt = 1; _task_for_cnt--; cnt1++,user_task[_this_task].state = __LINE__)
 {
 cnt2=0;
 user_task[_this_task].state = __LINE__;
 case __LINE__:
 for(_task_for_cnt = 1; _task_for_cnt--; cnt2++,user_task[_this_task].state = __LINE__)
 {
 P02 = ~P02;//取反P02端口
 user_task[_this_task].state=__LINE__;
 user_task[_this_task].time=50;
 case __LINE__:
 if(user_task[_this_task].time!=0)break;;
 }
 if(cnt2<3) break;//第二层for的判断条件,为1则返回for开头,为0则继续执行
 P02 = 0;//强制给P02端口置高
 user_task[_this_task].state=__LINE__;
 user_task[_this_task].time=300;
 case __LINE__:
 if(user_task[_this_task].time!=0)break;;
 }
 if(cnt1<5) break;//
 if(1)user_task[_this_task].state=0;
 break;
 }
 
 为了方便看先不要管__LINE__的位置,中间这么多“case __LINE__:”,switch和for语句交织在一起,真的没有问题?
 | 
 |