求助,初学fifo,原理都懂了,看不懂程序
初学fifo,原理大体明白了,但是看很多相关程序,还是看不透彻,请问目前该怎么做 看数据结构 这本书 gongxd 发表于 2014-4-9 07:04看数据结构 这本书
是谁写的啊? fifo = first in first out,只是一个缓冲区(可以是fifo芯片,也可以是ram中开辟的一段buffer),其读取规律是先存入,先取出。just so so 严蔚敏的,考研那会用的是 大话数据结构 ,觉得讲的比严蔚敏的好太多了,不过也有很多人喷。 我简单的程序都这么用应该很好理解。有BUG的,我程序简单当然是不会出问题的
typedef struct
{
unsigned char cBuff;
unsigned char in,out,count;
}queue1;
void InitQueue(queue1 *pQ)
{
pQ->in= 0;
pQ->out = 0;
pQ->count = 0;
}
unsigned char InQueue1(queue1 *pQ,unsigned char cInData)
{
GIE = 0;/* disable interrupts */
if (pQ->count == MaxSize)
{
GIE = 1;/* enable interrupts */
return 0;
}
pQ->cBuff = cInData;
pQ->in %= MaxSize;
pQ->count++;
GIE = 1;/* enable interrupts */
return 1;
}
unsigned char OutQueue1(queue1 *pQ)
{
unsigned char ret;
GIE = 0;/* disable interrupts */
if (pQ->count==0)
{
GIE = 1;/* enable interrupts */
return(0xff);
}
pQ->count--;
ret = pQ->cBuff;
pQ->out++;
pQ->out %= MaxSize;
GIE = 1;/* enable interrupts */
return(ret);
}
当然我也没有其他的用法,我的都是小项目{:smile:}
上面吃下面拉~~~~~~~~~~{:shutup:}
页:
[1]