util_buffer.h

来自「cc2x30_sw_examples: 适用于SmartRF05EB 支持CC」· C头文件 代码 · 共 60 行

H
60
字号
/*******************************************************************************

  Filename:     util_buffer.h

  Description:  Ringbuffer interface

*******************************************************************************/
#ifndef UTIL_BUFFER_H
#define UTIL_BUFFER_H

/*******************************************************************************
* INCLUDES
*/
#include <hal_types.h>

/*******************************************************************************
* CONSTANTS AND DEFINES
*/
#ifndef BUF_SIZE
#define BUF_SIZE    64
#endif

#if (BUF_SIZE > 256)
#error "Buffer size too big"
#endif

/*******************************************************************************
* TYPEDEFS
*/
typedef struct {
    volatile uint8 pData[BUF_SIZE];
    volatile uint8 nBytes;
    volatile uint8 iHead;
    volatile uint8 iTail;
} ringBuf_t;

/*******************************************************************************
* MACROS
*/
#define bufFlush(pBuf)  bufInit(pBuf)

/*******************************************************************************
* GLOBAL FUNCTIONS
*/
void  bufInit(ringBuf_t *pBuf);
uint8 bufPut(ringBuf_t *pBuf, const uint8 *pData, uint8 n);
uint8 bufGet(ringBuf_t *pBuf, uint8 *pData, uint8 n);
uint8 bufPeek(ringBuf_t *pBuf, uint8 *pData, uint8 nBytes);
uint8 bufNumBytes(ringBuf_t *pBuf);

#endif


/*------------------------------------------------------------------------------
										  0ooo                                     
								ooo0	 (	 )                                     
								(	)	  ) /                                      
								 \ (	 (_/                                       
								  \_)		 Modify By:cuiqingwei [gary]                  
------------------------------------------------------------------------------*/

⌨️ 快捷键说明

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