合信论坛

快捷导航
查看: 8911|回复: 2

C语言 FIFO(先进先出)指令的定义及用法

[复制链接]

8

主题

9

帖子

182

积分

注册会员

Rank: 2

积分
182
发表于 2021-4-8 15:15:18 | 显示全部楼层 |阅读模式
先进先出(FIFO)指令从表(TBL)中移走第一个数据,并将此数输出到Out_Data。每执行一条本指令,表中的数据数减1。
建立表,表的长度(tblen)图示初值为5,Sarea是表的初始地址 相当于vw300---vw308

先进”图示,第一个值10我已经写入vw300 ,准备写入(In_Data 给20,置位M2.0)  第二个值20放入vw302,以此类推
1.png


2.png

“先出”图示,第一次置位M2.1,vw202读取的置位第一次写入的10,同时把数值清零
第二次置位M2,vw202读取的置位第二次写入的20,以此类推

3.png           4.png


Clear代表清除表里面数据

5.png       6.png

参考程序:
7.png
8.png


8

主题

9

帖子

182

积分

注册会员

Rank: 2

积分
182
 楼主| 发表于 2021-4-8 15:40:50 | 显示全部楼层
如果Clear重置不需要清除数据把最后的while 去掉即可
while用的是逆向清除 时间复杂度为 X,根据现有数据量清除,减少多余循环

2

主题

7

帖子

76

积分

注册会员

Rank: 2

积分
76
发表于 2022-4-6 09:50:46 | 显示全部楼层
求改程序源码附件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

客服热线
400-700-4858 周一至周五:09:00 - 18:00
深圳市南山区打石一路深圳国际创新谷6栋A座9层

深圳市合信自动化技术有限公司(简称“合信技术”)成立于2003年,高新技术企业,专注于工业自动化产品的研发、生产、销售和技术服务,依靠高质量、高性能的自动化控制产品与方案为客户创造最大价值,立志于成为全球领先的工业自动化解决方案供应商。

Archiver|手机版|小黑屋|COTRUST Inc. ( 粤ICP备13051915号 )

GMT+8, 2024-4-23 17:57 , Processed in 0.083116 second(s), 23 queries .

快速回复 返回顶部 返回列表