serial.c

来自「EM射频卡读写器源代码」· C语言 代码 · 共 56 行

C
56
字号
#include "Common.h"

#define SCOMBUFNUM	20

BYTE SComReceBuf[SCOMBUFNUM];
BYTE SComReceHead,SComReceTail;

SComm() interrupt 4 using 3
{
 ES = 0;
 if(RI == 1)
 {
  RI = 0;
  SComReceBuf[SComReceTail] = SBUF;
  SComReceTail++;
  if(SComReceTail == SCOMBUFNUM) SComReceTail = 0;
 }
 ES = 1;
}

void SerialInit()
{
 TMOD &= 0x0f;
 TMOD |= 0x20;

 SCON = 0x50;
 PCON &= 0x7f;
 TH1  = 0xf3;			// 1200 bps
 TL1  = 0xf3;
 TR1  = 1;

 SComReceHead = 0;
 SComReceTail = 0;
 PS = 0;
 ES = 1;
}

void SerialSend(BYTE SendCode)
{
// TB8 = 1;				// for multi slaver
 SBUF = SendCode;
 while(TI == 0) ;
 TI = 0;
}

BOOL SerialRece(BYTE *SBuf)
{
 if(SComReceHead == SComReceTail) return FALSE;
 *SBuf = SComReceBuf[SComReceHead];
 SComReceHead++;
 if(SComReceHead == SCOMBUFNUM) SComReceHead = 0;
 return TRUE;
}


⌨️ 快捷键说明

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