/******************************************************************************************
* Copyright(c) 2018, Mark Xu WorK Studio. Allrights reserved.
*
* FileName : Xc_CircleQueue.c
*
* Brief : aboutthe circle queue application
*
* Author : Mark Xu
*
* Date : 2018年10月12日
*
* Version: V1.0
*
* Remark : None
*
*-----------------------------------------------------------------------------------------------------------------------------------------------
* History:
*
* 1) Author: xx xx
*
* ModifyDate : xx xx xx
*
* Modifycontents : xx xx xx xx xx
******************************************************************************************/ #define XC_CIRCLEQUEUE_IMPLEMENT
/************************************************************************************
* 函数名称 : RingBuf_Write_Bytes
*
* 函数描述 : Read the data from thequeue
*
* 入口参数 : *rbuf - the queue
*
* *pValue - the data buffer to store the read data
*
* size - the bytes of the valuebuffer
*
* 出口参数 : size - the bytes of be read
*
* 函数备注 : none
*************************************************************************************/
uint16_tRingBuf_Read_Bytes(RingBuf_T *rbuf,uint8_t *pValue,uint16_t size)
{
uint16_t len = 0;
uint16_t ringBuf_br = rbuf->Head;
uint16_t ringBuf_len = rbuf->Depth; char*ringBuf_src = rbuf->Buf;
// 如果为空则返回0 if(RingBuf_Chk_Empty(rbuf))
return 0;
// 当tial等于head时,说明队列为空 if(rbuf->fillCnt== 0)
{
// printf("Buffer isempty,nothing to be read \r\n");
return 0;
}
/******************************************************************************************
* Copyright(c) 2018, Mark Xu Work Studio. All rights reserved.
*
* 文件名称 : Xc_Queue.h
*
* 文件描述 : 关于队列模块的一些声明与定义
*
* 文件作者 : Mark Xu
*
* 创建日期 : 2018年10月10日
*
* 当前版本 : V1.0
*
* 文件备注 : None
*
*----------------------------------------------------------------------------------------
* 修改记录 :
*
* 1) 修改人员 : xx xx
*
* 修改日期 : xx xx xx
*
* 修改内容 : xx xx xx xx xx
******************************************************************************************/ #ifndef __XC_CIRCLEQUEUE_H__ #define __XC_CIRCLEQUEUE_H__