51串行通信
请帮忙看一下这个通信程序有没有问题:
#include <REGSND1.H>
#include <stdio.h> /*标准输入输出库函数*/
unsigned char a;
void init_uart()
{
TMOD = 0x20;//0010 0000 T/c方式2,8位自动重装载
TH1 = 0xa9;//初值a9 20M晶振 1200波特率时
TL1 = 0xa9;//
SCON = 0x50;//0101 0000 串口方式1,10位异步通讯,由定时器控制
PCON = PCON|0x80;//SMOD置1,波特率=溢出率/16,
TR1 = 1;//开串口中断*/
}
void main()
{
init_uart();
while(1)
{
while(RI==0);
RI=0;
a=SBUF;
SBUF=a;
while(TI==0);
TI=0;
}
}
[解决办法]
以前一哥们说可以不起动定时器,不知道是不是可以,反正我每次都打开了的.
另外,LZ想干啥直说吧,是收啥发啥不?
具体的代码没啥问题,具体看看物理上的链路看看,如果通信不上的话