|
[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直接赋值,没反应,郁闷,这么点代码都会这样!
那位前辈不吝赐教,谢先!
|
|