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

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

2012-02-21 
[51疑惑中]--w77e58给SBUF赋值TXD没反应,WHY?自编测试代码如下:#includew77e58.h xdataunsignedcharTxPn

[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说得不明白,发送没必要放在中断完成,直接拿出来

热点排行