標(biāo)題:
單片機(jī)串口問題,上電后第一次數(shù)據(jù)正確,后面都失敗
[打印本頁]
作者:
191947062
時間:
2017-8-14 11:08
標(biāo)題:
單片機(jī)串口問題,上電后第一次數(shù)據(jù)正確,后面都失敗
為什么單片機(jī)上電后第一次發(fā)送數(shù)據(jù)能收到五個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;
}
復(fù)制代碼
作者:
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;
}
}
把這些修改好放在串口中斷是執(zhí)行,就可以了.
作者:
191947062
時間:
2017-8-16 08:58
sageliu 發(fā)表于 2017-8-14 16:30
for(b=0;b
試了一下,好了,感謝!
為什么放在主函數(shù)里面不行呢?
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1