#include <stdio.h>
#define BUF_SIZE 20
static int Buf[BUF_SIZE]={0};
static int W=0;
static int R=0;
void Buff_Write(int data)
{
if((W+1)%BUF_SIZE!=R)
{
Buf[W]=data;
W=(W+1)%BUF_SIZE;
}
}
int Buff_Read(void)
{
int data=0;
if(R!=W)
{
data=Buf[R];
R=(R+1)%BUF_SIZE;
}
return data;
}
void Buff_Clear(void)
{
W=0;
R=0;
}
void Buff_Init(void)
{
Buff_Clear();
}
int main () {
int data[]= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
Buff_Init();
for (int i = 0; i < 5; i ++)
Buff_Write(data[i]);
for (int i = 0; i < 10; i ++)
printf("Read:%d,%d\n", i, Buff_Read());
return 0;
}