void uart_init()
{
TMOD=0X20; //定时器1
SCON=0X50; //串口1
PCON=0X00; //不分屏
TH1 =0XFD; //253
TL1 =0XFD; //253
ti =0; //发送状态清零
RI =0; //接受状态清零
TR1 =1; //开定时器1
EA =1; //开总中断
ES =1; //开串口中断1
}
void uartes() interrupt 4
{
if(RI)
{
RI=0; //标志清零
recevi=SBUF;
stat=1;
}
if(TI)
{
TI=0;
busy=1;
}
}
void main()
{
uart_init();
while(1)
{
if((busy==1)&&(stat=1))
{
SBUF=recevi;
busy=0;
stat=0;
}
}
}
你好,试问下
if(RI)
{
RI=0; //标志清零
recevi=SBUF;
stat=1;
}
中的 recevi=SBUF;改为 SBUF=recevi;而
if((busy==1)&&(stat==1))
{
SBUF=recevi;
busy=0;
stat=0;
}
中的SBUF=recevi;改为recevi=SBUF会怎样???
为什么我的串口助手智能这样改才会正常显示???
一周热门 更多>