标题:
单片机串口问题,上电后第一次数据正确,后面都失败
[打印本页]
作者:
191947062
时间:
2017-8-14 11:08
标题:
单片机串口问题,上电后第一次数据正确,后面都失败
为什么单片机上电后第一次发送数据能收到五个hello 之后只能收到个h
#include<stdio.h>
#include<reg52.h>
unsigned char rxbuf,txbuf[]="hello",len,a,b,flag;
void main()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SM0=0;
SM1=1;
REN=1;
EA=1;
ES=1;
while(1)
{
if(flag==1)
{
//ES=0;
flag=0;
for(b=0;b<=4;b++)
{
for(a=0;a<=4;a++)
{
SBUF=txbuf[a];
while(!TI);
//TI=0;
}
}
TI=0;
//ES=1;
}
}
}
void ser() interrupt 4
{
if(RI==1)
{
RI=0;
flag=1;
}
else TI=0;
}
复制代码
作者:
sageliu
时间:
2017-8-14 16:30
for(b=0;b<=4;b++)
{
for(a=0;a<=4;a++)
{
SBUF=txbuf[a];
while(!TI);
//TI=0;
}
}
把这些修改好放在串口中断是执行,就可以了.
作者:
191947062
时间:
2017-8-16 08:58
sageliu 发表于 2017-8-14 16:30
for(b=0;b
试了一下,好了,感谢!
为什么放在主函数里面不行呢?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1