当前位置: 代码迷 >> 单片机 >> [51疑惑中]-w77e58给SBUF赋值TXD没反应,WHY?该如何处理
  详细解决方案

[51疑惑中]-w77e58给SBUF赋值TXD没反应,WHY?该如何处理

热度:79   发布时间:2016-04-28 16:16:49.0
[51疑惑中]--w77e58给SBUF赋值TXD没反应,WHY?
自编测试代码如下:

#include   "w77e58.h "

xdata   unsigned   char   TxPnt;
xdata   unsigned   char   ComTxbyte[]={0x00,0x00,0xff,0xff};
xdata   unsigned   char   aa;
void   Com1_INT(void)   interrupt   4
{
if(RI)
// {
RI=0;
//RxByte();

// }
if(TI)
{
TI=0;
if(TxPnt <=3)
{
REN=0;
SBUF=ComTxbyte[TxPnt];
TxPnt++;

}
else   TxPnt=0;
}
}

void   Opencom(void)
{
TMOD|=0x20;
TH1=0xFD;
TL1=0xFD;
SCON=0x50;

EA=1;
ES=1;
TR1=1;
REN=1;
}

void   main()
{

PMR|=0x01;
aa=0x00;
TxPnt=0;
Opencom();
while(1)
{
xdata   unsigned   char   i;
if(TxPnt==0)  
{
SBUF=0x00;
//SBUF=ComTxbyte[0];
//REN=0;
}
//TXD=0;
for(i=0;i <5;i++){}
aa++;
}
}
环境用的是ADEK仿真器320W,我对TXD直接置低,可以.
对SBUF直接赋值,没反应,郁闷,这么点代码都会这样!
那位前辈不吝赐教,谢先!


------解决方案--------------------
什么没反应,LZ说得不明白,发送没必要放在中断完成,直接拿出来