FIFO入栈和出栈

本文档展示了在MCU环境下使用C语言实现的FIFO(先进先出)数据结构及其初始化、判断空满、入栈、出栈、块读写等操作函数。FIFO_Stru结构体定义了FIFO的相关属性,如缓冲区、头部、尾部位置和长度。提供的函数包括sci_fifo_init()用于初始化,sci_fifo_is_empty()和sci_fifo_is_full()用于检查FIFO状态,sci_fifo_input_byte()和sci_fifo_output_byte()用于单字节的入出栈操作,以及sci_fifo_input_block()和sci_fifo_output_block()用于块操作。
摘要由CSDN通过智能技术生成

typedef struct
{
    Uint8 *pFIFOBuffer;    //data buffer as fifo
    Uint8 FIFOHead;        //begin of data in fifo
    Uint8 FIFOTail;        //end of data in fifo
    Uint8 FIFOLength;    //data in fifo
    Uint8 FIFOSize;        //size of fifo
}FIFO_Stru;
 

/****************************************************************
**  FUNCTION    :sci_fifo_init
**  DESCRIPTION    :This function initialize FIFO
**  PARAMETERS    :pthis
**                 pBuf
**                 nSize
**  RETURN        :void
****************************************************************/
void sci_fifo_init(FIFO_Stru *pthis, Uint8 *pBuf, Uint8 nSize)
{
    pthis->pFIFOBuffer = pBuf;
    pthis->FIFOHead = 0x00;
    pthis->FIFOTail = 0x00;
    pthis->FIFOLength = 0x00;
    pthis->FIFOSize = nSize;
}

/****************************************************************
**  FUNCTION    :sci_fifo_is_empty
**  DESCRIPTION    :This function check whether the FIFO is empty
**  PARAMETERS    :pthis
**  RETURN        :Uint8
****************************************************************/
static Uint8 sci_fifo_is_empty(FIFO_Str

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值