#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
void Delay(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
void main()
{
uchar c = 0x80;
// SCON = 0x00;
TI = 1;
while(1)
{
c = _crol_(c,1);
SBUF = c;
while(TI==0);
TI = 0;
Delay(400);
}
}
在上面的程序中我把SCON = 0x00;或者把SCON = 0x00和
while(TI==0);TI = 0;都注释掉。程序也没问题啊
求解释
貌似串口默认的工作方式是0,不知道是不是这样 |