#include <reg51.h>
void uart_init(void);
void uart_send_byte(unsigned char m);
void delay500ms(void);
void main()
{
uart_init();
while(1)
{
uart_send_byte("x");
delay500ms();
}
}
void uart_init(void) //第一步单片机初始化
{
SCON=0x50; //通信方式一
PCON=0x00; //波特率加倍
TMOD=0X20; //方式2
TH1=243;
TL1=243; //波特率4800
TR1=1;
ES=1;
EA=1;
}
void uart_send_byte(unsigned char m)
{
SBUF=m;
while(!TI);
TI=0;
}
void delay500ms(void) //误差 0us
{
unsigned char a,b,c;
for(c=205;c>0;c--)
for(b=116;b>0;b--)
for(a=9;a>0;a--);
}
就是 uart_send_byte("x");但改为uart_send_byte('x');没有问题,这个是什么原因
|