fifo.c

来自「基于arm—LPC2103的串口通讯程序」· C语言 代码 · 共 36 行

C
36
字号

enum OptCodeType {PUSH,POP,CLR,CHECK};
int SentFIFO(int OptCode,char OptNum)
{	  
	#define FIFO_Size 32
	static char FIFO[FIFO_Size],ptIN,ptOUT;
	switch(OptCode)
	{
		case PUSH :
		if(ptOUT==((ptIN+1)%FIFO_Size)) return 0 ;
		else FIFO[(ptIN++)%FIFO_Size]=OptNum;	
		return	1; 

		
		case POP :
		if(ptIN==ptOUT) return(0);
		else return(FIFO[(ptOUT++)%FIFO_Size]);

		
		case CLR :
		ptOUT=ptIN;
		return 1;

		
		case CHECK:
		if(ptOUT>ptIN) return(ptOUT-ptIN);
		else return (ptIN-ptOUT);

		default:
		return 0;
	}
	
}

	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?