当前位置: 代码迷 >> 单片机 >> 关于串行通信的一个有关问题 没分了 不好意思哈
  详细解决方案

关于串行通信的一个有关问题 没分了 不好意思哈

热度:158   发布时间:2016-04-28 16:27:50.0
关于串行通信的一个问题 没分了 不好意思哈
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar flag,b,i;

void init()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
  //为什么不能开中断(ET1=1)
REN=1;
  SM0=0;
SM1=1;
EA=1;
ES=1;




}
void main()


 init();
  while(1)
{
if(flag==1)

  ES=0;
SBUF=b;
while(!TI);
TI=0; 
flag=0;
ES=1;

 

}
}
void ser_1() interrupt 4
{
RI=0;
  b=SBUF;
flag=1;
}
为什么不能开中断(ET1=1) 请高手解释下 不胜感激!

------解决方案--------------------
ET1不是定时器中断么?打开它没用吧?
------解决方案--------------------
打开了当然不行,因为定时中断的优先级高于串口中断,所以会有你那种现象。
  相关解决方案