请问各位大侠,这是我学习串口通讯编的一个程序如下,但是我用串口调试助手练习时发送15字符后再接收时接收和发送的数据不一样了,串口显示如附件,如果程序有错,请大侠帮助指点一下
#include <reg51.h>
#include <intrins.h>
void init() //串口定时器外部中断初始化
{
TMOD = 0x21;
TH1 = 0xfd;
TL1 = 0xfd; /* 9600 */
TR1 = 1;
SCON = 0x50; /* 工作在方式1*/
}
void main()
{
char str[15],i,j;
j=0;
i=0;
init();
while(1){
RI=0;
for(i=0;i<15;i++)
{
while(!RI);
str[i]=SBUF;
RI=0;
}
TI=0;
for(j=0;j<15;j++)
{
SBUF=str[j];
while(TI==0);
TI=0; /*等待1 字节发送完成*/
}
}
} |