📄 fifo.c
字号:
/*
DM270 ARM Evaluation Software
(c)Texas Instruments 2003
*/
#include <demo/dm270_demo.h>
#include <system/armsys270.h>
#include <util/fifo.h>
STATUS FIFO_init(FIFO *fifo) {
if(fifo==NULL)
return E_DEVICE;
fifo->count = 0;
fifo->readIndex = 0;
fifo->writeIndex = 0;
fifo->len = MAX_FIFO_BUF_LEN;
return E_PASS;
}
STATUS FIFO_get(FIFO *fifo, char *data) {
if(FIFO_isEmpty(fifo)==TRUE)
return E_DEVICE;
*data = fifo->buf[fifo->readIndex];
fifo->readIndex++;
if( fifo->readIndex >= fifo->len )
fifo->readIndex=0;
fifo->count--;
return E_PASS;
}
STATUS FIFO_put(FIFO *fifo, char data) {
if(FIFO_isFull(fifo)==TRUE)
return E_DEVICE;
fifo->buf[fifo->writeIndex]=data;
fifo->writeIndex++;
if(fifo->writeIndex >= fifo->len )
fifo->writeIndex = 0;
fifo->count++;
return E_PASS;
}
BOOL FIFO_isEmpty(FIFO *fifo) {
if(fifo->count == 0 )
return TRUE;
else
return FALSE;
}
BOOL FIFO_isFull(FIFO *fifo) {
if(fifo->count >= fifo->len )
return TRUE;
else
return FALSE;
}
STATUS FIFO_clear(FIFO *fifo) {
if(fifo==NULL)
return E_DEVICE;
fifo->count = 0;
fifo->readIndex = 0;
fifo->writeIndex = 0;
return E_PASS;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -