uuuuu 发表于 2024-7-16 19:03:50

谢谢大佬

QQ624353765 发表于 2024-7-16 20:12:52

这是个状态机,和线程的概念天差地别。线程是两个while(1)来回切换任务

乘简 发表于 2024-9-19 15:06:31

王昱顺 发表于 2023-9-12 08:34
对的, 多个Delay会只生效最后一个, 如果需要多个Delay,可以在后面的case中继续使用 ...

其实Task_This[]只要有两个状态就行了,0执行任务,设置延时,1检查计时完成再回到0,至于状态2我觉得多余

王昱顺 发表于 2024-9-19 15:08:51

乘简 发表于 2024-9-19 15:06
其实Task_This[]只要有两个状态就行了,0执行任务,设置延时,1检查计时完成再回到0,至于状态2我觉得多 ...

这个其实就是状态机增强版本。适合多个顺序任务执行。
比如实现一个机械结构的动作,可以执行机构一,延时2s,执行机构二,延时0.5s,等待信号触发,返回开头。这样子
然后其他的顺序任务也可以一起执行

ysw 发表于 2024-9-19 16:41:55


这本书网上有电子版。

会溺水的鱼 发表于 2024-12-27 20:30:51

<p>在看b站的51框架式编程的视频,忽然想到论坛应该会有更多资源。搜到楼主的帖子,看的视频跟楼主的有些不一样,先学会b站的,再来慢慢消化楼主的,谢谢楼主提供的思路</p>

East Wind 41 发表于 2024-12-30 11:44:50

ysw 发表于 2024-9-19 16:41
这本书网上有电子版。

这个不错,能不能分享

lhj 发表于 2025-4-1 11:40:36

王昱顺 发表于 2024-1-31 14:11
下一个状态是case 1,但是因为没有声明,所以会回到默认的default,这里面的函数功能是不断查询定时器 ...

王工,你好,我有一个5个报警状态,现在一个一个报警我能实现了,但如果多个状态报警,且从小到大顺序显示,这个我不知道怎么实现,看了你的这个感觉应该能应用上,但我不知道要怎么写,比如E1,E2,E4,报警,要显示E11秒后灭掉,再显示示E2一秒后灭掉,再显示E4,这样轮询。如果这时E2报警解除,下次是就只显示,E1和E4.只到最后全部解除报警,正常显示。

王昱顺 发表于 2025-4-1 12:31:39

lhj 发表于 2025-4-1 11:40
王工,你好,我有一个5个报警状态,现在一个一个报警我能实现了,但如果多个状态报警,且从小到大顺序显 ...

很简单,分成6个线程,每个报警状态仅触发一个标志位,可以用一个数组之类的全局变量来标识
然后有一个显示报警线程,循环显示所有的报警状态,从小到大轮询刚才的全局变量判断,有报警状态就显示,没有的话跳过到达下一个

lhj 发表于 2025-4-1 12:34:17

王昱顺 发表于 2025-4-1 12:31
很简单,分成6个线程,每个报警状态仅触发一个标志位,可以用一个数组之类的全局变量来标识
然后有一个显 ...

我也是想这样写,但代码逻辑不太明白
页: 1 2 3 4 5 [6] 7
查看完整版本: 最佳入门多线程示例讲解-核心代码简单易懂,仅44行代码