circbuff.c

来自「用51单片机仿真PC机键盘」· C语言 代码 · 共 43 行

C
43
字号
// circbuff.cpp

char BuffStart[18];
char *BuffDataEnd, *BuffEnd, *BuffDataStart;

void CBUFF_Init( void )
{
   BuffDataStart = BuffStart;
   BuffDataEnd   = BuffStart;
   BuffEnd       = BuffStart + 16;
}


char CBUFF_Store( char DataIn )
{
   if ((BuffDataEnd + 1 == BuffDataStart)
   || ((BuffDataEnd == BuffEnd) && (BuffDataStart==BuffStart)))
     return ':';

   *(BuffDataEnd) = DataIn;

   BuffDataEnd++;
   if (BuffDataEnd > BuffEnd)
     BuffDataEnd = BuffStart;
   return DataIn;
}

char CBUFF_Get( void )
{
char DataOut;

   if (BuffDataStart == BuffDataEnd)
     return '.';

   DataOut = *(BuffDataStart);
   BuffDataStart++;
   if (BuffDataStart > BuffEnd)
     BuffDataStart = BuffStart;

   return DataOut;
}

⌨️ 快捷键说明

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