📄 uart0.c
字号:
#include "REG516.H"
#include "def.h"
extern WORD data Rec_length;
extern BYTE data Rec_sum;
//------------------------------
void initSERIAL(void)
{
///////////////////////////////////////////////////////////////////////////
//-if you need isd(in system debugger)you need add the list code in your main
//--------------add for serial bebug s0----------zhzhl-------
SCON = 0x50; /* enable serial uart & receiver s0,mode 1 */
PCON = PCON | 0x80;
TMOD|=0X20; //TIMER1: MODE 2, ;
TH1=247; //32.768M-->18963
TL1=247;
TR1=1; //TIMER1 START;
//-----------end of s0 initial ----------------------------
ES=1;
}
//---------------------------------------
void Uart0_print(char *p)
{
ES=0; //disabe uart0 interrupt;
TI=1;
while(*p)
while(TI)
{
TI=0;
SBUF=(*p);
++p;
}
while(!TI);
TI=0;
ES=1;
}
//--------------------------------------------------------
void INT_S0(void) interrupt 4
{
BYTE data tmp;
if(RI)
{
RI=0;
tmp=SBUF;
*((BYTE xdata *)Rec_length++)=tmp;
Rec_sum+=tmp;
// TI=0;
// SBUF=tmp;
// while(!TI);
}
else
TI=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -