util_buffer.h
来自「用CC2430的P1端口P1_0和P1_1实现对简单程序的测试!」· C头文件 代码 · 共 71 行
H
71 行
/***********************************************************************************
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
/***********************************************************************************
Copyright 2007 Texas Instruments Incorporated. All rights reserved.
IMPORTANT: Your use of this Software is limited to those specific rights
granted under the terms of a software license agreement between the user
who downloaded the software, his/her employer (which must be your employer)
and Texas Instruments Incorporated (the "License"). You may not use this
Software unless you agree to abide by the terms of the License. The License
limits your use, and you acknowledge, that the Software may not be modified,
copied or distributed unless embedded on a Texas Instruments microcontroller
or used solely and exclusively in conjunction with a Texas Instruments radio
frequency transceiver, which is integrated into your product. Other than for
the foregoing purpose, you may not use, reproduce, copy, prepare derivative
works of, modify, distribute, perform, display or sell this Software and/or
its documentation for any purpose.
YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION ARE
PROVIDED 揂S IS
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?