c51串口通讯
#include <reg51.h>
#define uchar unsigned char
void InitSerial(void)
{
TMOD=0x20;
SCON=0x50;
TH1=0xfd;
TL1=0xfd;
TR1=1;
EA=1;
ES=1;
}
void main(void)
{
unsigned int b=‘a’;
InitSerial();
while(1);
{
SBUF=b;
}
}
void com_isp(void) interrupt 4 using 3
{
uchar a;
if(RI)
{
EA=0;
RI=0;
a=SBUF;
if(TI)
TI=0;
EA=1;
}
}
我的程序出现一个怪异的想象,我在编译、装入、然后点击全速运行后,这时我得串口助
手已经打开,且已经数据输入,但是不能接收。
但是,这是我点击程序重新开始(还是上次装入的程序,没有在编译和装入),然后在点
击全速运行,就可以接收到我发送的字符了。
我打开串口允许接收,应该接收到a才对,但是,出现了上面的问题,搞不明白?????
不知道什么原因,望各位大侠指点
发表时间:2005年7月10日16:53:21