51单片机串口通信问题.
好吧死了一帖了..换个方式问下.看有人能帮助我下不...如题,使用C2051单片机晶振16M 波特率250K
串口通信方式2发现接收机无论如何也接收不到第九位数据.
即RB8始终等于0
附发送机 接收机源程序 及仿真图.
求帮助=.= #include<reg2051.h>
main()
{
SCON=0x90;
PCON=0x00;
EA=1;
ES=1;
while(1)
{
}
}
void see() interrupt 4
{
RI = 0;
if(RB8)
{
P1 = SBUF;
while(1);
}
}
接收机程序 #include <reg2051.h>
sbit key = P3^7;
void output(unsigned char now)
{
unsigned char j;
SBUF = 0x00; //起始码
while(!TI);
TI= 0;
for(j = 10;j>0;j--)
{
SBUF = now;
while(!TI);
TI= 0;
}
}
void out_init()
{
SM0 = 1;
SM1 = 0; //工作方式2
TB8 = 1;
P3_1 = 1;
}
main()
{
out_init();
while(1)
{
if(!key){
output(0xaa);
while(!key);
}
}
}
发送机程序. 这个怎么了,有问题me 从电子示波器可以看得出你的第九位数据么?? sdnumcu 发表于 2012-11-28 19:23 static/image/common/back.gif
这个怎么了,有问题me
就是接收机 始终接收不到第九位数据....
RB8 ==1 的条件成立不了. canidream 发表于 2012-11-28 21:38 static/image/common/back.gif
从电子示波器可以看得出你的第九位数据么??
条件有限...没有电子示波器.但是手头有一个 可以肯定发送过第九位数据的设备.但是接收不到第九位数据. 好吧 问题解决了....果然我很2=.=
页:
[1]