- 打卡等级:以坛为家II
- 打卡总天数:459
- 最近打卡:2025-06-15 10:54:24
金牌会员
- 积分
- 1529
|
发表于 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语句交织在一起,真的没有问题? |
|