C实现循环缓冲区.docC编程之——循环缓冲区的操作
在实际工作中很多时候要收发数据,于是便要用到循环缓存,下面就我常常 用的通用的循环缓存做个总结,有不妥之处还请高手指点。
定义循环缓存:
ftdefine
typedef struct {
uint
C编程之——循环缓冲区的操作
在实际工作中很多时候要收发数据,于是便要用到循环缓存,下面就我常常 用的通用的循环缓存做个总结,有不妥之处还请高手指点。
定义循环缓存:
ftdefine
typedef struct {
uint }DATA_BUFF_T; typedef struct {
uin t
uint
1024
//定义数据结构
data;
//定义缓存结构
readPos; writePos;
MAX BUFF LEN
//定义缓存大小
DATA_BUFF_T DATA[MAX_BUFF_LEN]; }DATAS_BUFF_T;
static DATAS BUFF T BuffO; // 定义缓存
初始化循环缓存:
BuffO. readPos = 0;
BuffO. writePos = 0;
判断缓存中是否有数据:
BOOL HaveData_Buff(void)
{
if (BuffO. readPos != BuffO. write. Pos)
{
return 1;
}
else
{
return 0;
}
}
向缓存中写数据:
BOOL WriteData(uint data)
{
uint nextPos;
nextPos = (BuffO. writePos + 1) % MAX_BUFF_LEN;
if (ne
C实现循环缓冲区 来自淘豆网m.daumloan.com转载请标明出处.