恭喜,你发布的帖子
发布于 2024-03-28 09:58:45
12楼
你这个如果我触摸屏按了 4-3-1-2 按钮 , 你这个是从扫描程序段先后顺序执行的.在4完成后就有可能会执行1-2-3. 而不是3-1-2的顺序.
你说的这个是因为我根本就没有给你写这个fifo功能,我写的是固定顺序的,或者是你的需要加水的条件是一个个进来的,完成一个加水再来一个信号,这样顺序是人为控制的。你完全可以做一个排序,用排序控制srun的状态就行了。如果需要,你直接定义一个db,用数组fifo就行了。
进栈:初始状态,db中数据都是0,按一个按钮把对应的数字写到db中第一个为0的位置,如果有优先级的话,也保存到db中,然后按优先级排序,没有这步直接省略。那么点了4个按钮后,数字按照先后的顺序保存到db中。
出栈:读取第一个位置的数字,用select case判断,等于几则打开对应的阀门,完成后,fifo队列的数据前移一个地址,最后一个地址补0.
重复前面的工作就行了。
请填写推广理由:
分享
只看
楼主