当前位置: 代码迷 >> 单片机 >> 为什么小弟我用串口调试助手不能连续发送数据呢?只能发送一个之后,再重启串口再发送数据给SBUF
  详细解决方案

为什么小弟我用串口调试助手不能连续发送数据呢?只能发送一个之后,再重启串口再发送数据给SBUF

热度:78   发布时间:2016-04-28 15:47:33.0
为什么我用串口调试助手不能连续发送数据呢?只能发送一个之后,再重启串口再发送数据给SBUF?
#include<reg52.h>


void main()
{

TMOD = 0x20;
  SCON = 0x50;
  TH1 = 0xFD;
  TL1 = TH1;
  PCON = 0x00;
  EA = 1;
  ES = 1;
  TR1 = 1;
}

void ser() interrupt 4
{
if(RI)

{
RI=0;
P1=SBUF;
}

}

------解决方案--------------------
void main()
{

TMOD = 0x20;
SCON = 0x50;
TH1 = 0xFD;
TL1 = TH1;
PCON = 0x00;
EA = 1;
ES = 1;
TR1 = 1;

//在这个地方加个死循环,不让程序乱跑
while (1);
}


应该是这个不停的初始化串口


------解决方案--------------------
探讨
void main()
{

TMOD = 0x20;
SCON = 0x50;
TH1 = 0xFD;
TL1 = TH1;
PCON = 0x00;
EA = 1;
ES = 1;
TR1 = 1;

//在这个地方加个死循环,不让程序乱跑
while (1);
}


应该是这个不停的初始化串口