首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

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

2012-02-19 
关于串行通信的一个问题 没分了 不好意思哈#includereg52.h#define uint unsigned int#define uchar uns

关于串行通信的一个问题 没分了 不好意思哈
#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不是定时器中断么?打开它没用吧?
[解决办法]
打开了当然不行,因为定时中断的优先级高于串口中断,所以会有你那种现象。

热点排行