#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
int i=0;
uchar table[8];
void serial_init()
{
TMOD|=0x20; //设定T1定时器工作方式2
TH1=0xfd; //T1定时器装初值
TL1=0xfd; //T1定时器装初值
REN=1; //允许串口接收
SM0=0; //设定串口工作方式1
SM1=1; //设定串口工作方式1
EA=1; //开总中断
ES=1; //开串口中断
TR1=1;
}
//////传送数据到计算机////////////
void send(uchar *pt)
{
while(*pt != ' ')
{
SBUF = *pt;
pt++;
while(!TI);
TI=0;
}
}
void main()
{
serial_init();
while(SBUF!=0x0d);//按下回车键,开始把接收到的数据发送给计算机
send(table);
}
void serial()interrupt 4
{
ES=0;
table[i++]=SBUF;
ES=1;
RI=0;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
刚才试了,还是不行,而且和以前一样的代码,收到的数据更乱了.....
然后有没有解决问题呢?
这样以后就没有问题了...不过这样就检测不了程序哪里有问题呢
一周热门 更多>