串口初始化
void uart_init()
{
SCON = 0x50;
TMOD |= 0x20;
TH1 = 0xfd;
TR1 = 1;
}
{
SCON = 0x50;
TMOD |= 0x20;
TH1 = 0xfd;
TR1 = 1;
}
发送一个字节
void uart_byte(unsigned char byte)
{
SBUF = byte;
while(!TI);
TI = 0;
}
{
SBUF = byte;
while(!TI);
TI = 0;
}
发送一个字符串
void uart_send_str(unsigned char * s)
{
while(*s != '\0')
{
uart_byte(*s);
s++;
}
}
{
while(*s != '\0')
{
uart_byte(*s);
s++;
}
}
接收字符串
unsigned char uart_input_str()
{
static unsigned char * temp = str;
while(RI)
{
while(1)
{
if(SBUF == 0x20)
{
*temp = '\0';
temp = str;
RI = 0;
return 1;
}
if(RI == 1)
{
*temp = SBUF;
temp++;
RI = 0;
}
}
}
return 0;
}
{
static unsigned char * temp = str;
while(RI)
{
while(1)
{
if(SBUF == 0x20)
{
*temp = '\0';
temp = str;
RI = 0;
return 1;
}
if(RI == 1)
{
*temp = SBUF;
temp++;
RI = 0;
}
}
}
return 0;
}