gumutian8 发表于 2025-7-5 09:38:25

task_start(2);
ask_delay(1000);
task_for(cnt1=0, cnt1++)
//#define task_for(init, cnt)
//cnt1=0;
//user_task.state = __LINE__;
//case __LINE__:
//for(_task_for_cnt = 1;_task_for_cnt--;cnt1++t,user_task.state = __LINE__)
为什么没有判段语句

王昱顺 发表于 2025-7-5 11:18:53

gumutian8 发表于 2025-7-5 09:38
task_start(2);
ask_delay(1000);
task_for(cnt1=0, cnt1++)


这个是这么用的 task_for()....task_break();
判断语句在task_break里面,这个for语句为了适配嵌套只能这么写了

YYYYAN 发表于 2025-7-8 00:26:07

王工厉害

gumutian8 发表于 2025-7-10 11:36:00

谢谢王工解或!我基础比较差,问题多了点!
for(_task_for_cnt = 1;_task_for_cnt--;cnt2++,user_task.state = __LINE__)
_task_for_cnt这个变量作是什么?这语法感觉脑袋转不过来?按正常for()里只见一个变量,这里有两个

王昱顺 发表于 2025-7-10 12:48:39

gumutian8 发表于 2025-7-10 11:36
谢谢王工解或!我基础比较差,问题多了点!
for(_task_for_cnt = 1;_task_for_cnt--;cnt2++,user_task

这个就是让for循环只执行一次,主要是为了能让程序运行到后面再回来执行

zengchang 发表于 2025-7-10 23:31:59

{:4_165:}

patch1582 发表于 2025-7-13 20:22:30

按键消抖真有用

Ai_Std_25 发表于 2025-7-16 08:37:14

打卡收藏

jwd 发表于 2025-7-20 09:28:13

王工,请问这种如何实现以下功能:我先是执行步骤1,某个条件满足后执行步骤2,结束步骤1;步骤2满足条件执行步骤3,结束步骤2;步骤3满足条件执行步骤1,4,结束步骤2;这样的

王昱顺 发表于 2025-7-20 10:33:47

jwd 发表于 2025-7-20 09:28
王工,请问这种如何实现以下功能:我先是执行步骤1,某个条件满足后执行步骤2,结束步骤1;步骤2满足条件执 ...

可以这么写:
task_start(0);
//步骤1内容
task_wait(条件);
//步骤2内容
task_wait(条件);
//步骤3内容
task_wait(条件);
//步骤1内容
//步骤4内容
task_end(0);

或者可以将步骤1到步骤4分列为4个独立的线程,中间通过标志位来进行相互的连结与启动
页: 1 2 3 4 [5] 6
查看完整版本: 【协程方式】实现【多任务调度 / 多线程】 仅需2byte的RAM 并带有详细视频讲解