初学者:紧急求助!串口通信
我编的简单的串口发送程序想试一下。在运行的时候sbuf寄存器值总是零,请指点,谢谢!
程序如下:
#include <reg51.h>
#define uchar unsigned char
uchar buf[5]={0x11,0x22,0x33,0x44,0x55};
void init();
void send(uchar* p);
void main()
{
init();
send(buf);
}
void init()
{
SCON=0x50;//SM0 SM1 SM2 REN TB8 RB8 TI RI
PCON=0x00;
TMOD=0x20;//GATE CT1 M1 M0 GATE CT0 M1 M0:00100000
TH1=0xfd;//set 9600bps
TL1=0xfd;
TCON=0x00;//TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TR1=1;
}
void send(uchar* p)
{
uchar i;
for(i=0;i<5;i++)
{
SBUF=p[i];
while(TI==0);
TI=0;
p++;
}
}
发表时间:2002年6月6日15:01:00