作者icetofux ()
看板ASM
标题[问题] FreeRTOS流程设计
时间Sun Mar 3 20:28:26 2019
大家好,我有一份设计的流程图大致如下:
主流程
等待启动条件→启动阶段1→启动阶段2→启动阶段3
↑ ↓
| 主要作业回圈
| ↓
└───结束阶段3←结束阶段2←结束阶段1
监测流程(主流程执行时须全程启动)
(Y)
电压是否异常─→跳至结束阶段1
↑ |(N)
└──┘
(Y)
气压是否异常─→跳至结束阶段2
↑ |(N)
└──┘
(Y)
温度是否异常─→跳至结束阶段3
↑ |(N)
└──┘
我目前是将主流程跟监测流程各做成一个task,可是我不清楚要怎麽让监测流程的task
让主流程的task进行跳跃,目前只想到用queue当监测流程条件成立後传个flag让主流
程知道,然後在主流程中到处埋Queue Receive去看监测流程有没有送东西来,如果有
再依flag跳到特定的结束阶段。
请问还有其他更好的方法能实现这样的流程图吗?
谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.250.47.18
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/ASM/M.1551616109.A.049.html
※ 编辑: icetofux (111.250.47.18), 03/03/2019 20:29:32
1F:→ fgkor123: event flag 05/09 20:13
2F:→ fgkor123: 看你需要,主流程可以wait的话就 wait(气压,温度)->show 05/09 20:17
3F:→ fgkor123: wait的flag应需要增加分支 05/09 20:22