📄 serial.c
字号:
#ifdef OS_MASTER_FILE
#include "includes.h"
#endif
#include <serial.h>
unsigned char TxBuff[LenTxBuff],RxBuff[LenRxBuff];
unsigned int inTxBuf,outTxBuf,inRxBuf,outRxBuf;
bit TIflag=1;
void InitSerial()reentrant
{
TMOD=TMOD&0X0F;
TMOD=TMOD|0X20;
THI=0XFD;
SCON=0X50;,
PCON=0X00;
TR1=1;
}
void InitSerialBuffer(void)reentrant
{
inTxBuf=outTxBuf=0;
inRxBuf=outRxBuf=0;
ES=1;
}
void serial(void)reentrant
{
if(TI)
{
TI=0;
if(inTxBuf==outTxBuf)
{
TIflag=1;
return;
}
SBUF=TxBuf[outTxBuf];
outTxBuf=(outTxBuf+1)%LenTxBuf;
}
if(RI)
{
RI=0;
inRxBuf=(inRxBuf+1)%LenTxBuf;
if(inRxBuf==outRxBuf)
return;
RxBuf[inRxBuf]=SBUF;
}
}
void PrintChar(unsigned char ch)reentrant
{
if(TIflag)
{
TIflag=0;
TI=1;
}
inTxBuf=(inTxBuf+1)%LenTxBuf;
if(inTxBuf==outTxBuf)
return;
TxBuf[inTxBuf]=ch;
}
void PrintStr(unsigned char *str)reentrant
{
int i;
unsigned char ch;
OS_ENTER_CRITICAL();
for(i=0;i<MaxLenStr;i++)
{
ch=*(str+i);
if(ch=='\0')
break;
else if(ch=='\n')
{
PrintChar('\n');
PrintChar('\r');
}
else
PrintChar(ch);
}
OS_EXIT_CRITICAL();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -