星星点灯 发表于 2021-4-8 15:15:18

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

先进先出(FIFO)指令从表(TBL)中移走第一个数据,并将此数输出到Out_Data。每执行一条本指令,表中的数据数减1。建立表,表的长度(tblen)图示初值为5,Sarea是表的初始地址 相当于vw300---vw308
先进”图示,第一个值10我已经写入vw300 ,准备写入(In_Data 给20,置位M2.0)第二个值20放入vw302,以此类推




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

Clear代表清除表里面数据
   

参考程序:




星星点灯 发表于 2021-4-8 15:40:50

如果Clear重置不需要清除数据把最后的while 去掉即可
while用的是逆向清除 时间复杂度为 X,根据现有数据量清除,减少多余循环

anyili 发表于 2022-4-6 09:50:46

求改程序源码附件:P
页: [1]
查看完整版本: C语言 FIFO(先进先出)指令的定义及用法