怎么判断它发个不停的??不会只看你的P1口输出吧!!如果真那样的话,你看到的并非是实的(也就是说不一定是有数据发过来,而是你程序在不停的轮循的输出P1口的结果,),在程序里最好不直接用P1=SBUF,加多个参数做桥梁好点,SBUF在跟你的串口在变,毕竟不敢保证你的串口不受干扰,并且你所用的是串口方式1。
楼上的程序是我在>
void sys_init(void)//UART TIMER0初始化
{
TH0 = 0xB8; TL0 = 0x00; //20ms的时钟基准
//串口中断
TI=0;
RI=0;
SCON=0x50; //选用方式1
TMOD=0x20;
TMOD = (TMOD & 0xf0) | 1;//MODE 1
TH1=0xfd; //波特率为9600
TL1=0xfd;
PCON=0x00; //倍频0x80
IE = 0x90; // EA ELVD EADC ES ET1 EX1 ET0 EX0
// IE = 0xb0; // EA XX ET2 ES ET0 EX0 ET1 EX1
TR1=1; //enable TIMER1
ES=1; //开串口开断
TR0=1; //串口接收中断
ET0=0; //T0 中断
ET1=0; // T1 中断
IT0=1;EX0=1;
EA=1;
timer_1S_cnt=0;
IGT=1;
}
void receive(void) interrupt 4 using 1
{
if(RI)
{
// if(Rx<RxIn)
{pBuf=SBUF;pBuf++;
// (SystemBuf+Rx)=SBUF;
// SystemBuf[Rx]=SBUF;
Rx++;
}
RI=0;
}
}
有开定时器和AD的,你自己去掉吧
以上就是关于51串口通信的实验,程序没问题,但用串口调试助手发数据,发后就一直发个不停,程序如下~求高手指点迷津!全部的内容,包括:51串口通信的实验,程序没问题,但用串口调试助手发数据,发后就一直发个不停,程序如下~求高手指点迷津!、在线等!!!求一个51单片机之间串口通信的程序,半双工的。希望给出程序实例、51单片机串口接收多字节的中断程序如何写 请大虾赐教 小弟先行谢过了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)