想做个简单的单片机串口通信,遇到点小问题

2019-07-15 12:48发布

本来想做到发一个字符串返回同样一个字符串,但是貌似高位置1了,不知道程序哪里出了问题,特来请教。 QQ截图20161021190053.png
#pragma db code
#include<reg51.h>
#define uchar unsigned char
void rece(void);
void init(void);
uchar re[17];

void main(void)
{
uchar temp;
init();
do{

  while(RI==0);//接收
  temp=SBUF;

  if(temp==0x00)
  {rece();}
  else break;
  }while(1);
}

void init(void)
{
TMOD=0x20;
PCON=0x80;
SCON=0x50;
TL1=0xFa;
TH1=0xFa;
TR1=1;
}

void rece(void)
{
char i;
i=0;

do       
{        while(RI==0);
        re[17]=SBUF;
        RI=0;
        SBUF=re[17];
        while(ti==0);
        TI=0;
}while(re[i-1]!=255);       
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
@曲终人散@
1楼-- · 2019-07-15 13:29
然而并没有发现错误
李春明
2楼-- · 2019-07-15 16:08
 精彩回答 2  元偷偷看……
dantehan
3楼-- · 2019-07-15 20:32
难不成在硬件上出差了
哭泣的眼泪
4楼-- · 2019-07-16 02:11
串口设备会不会有问题???
dantehan
5楼-- · 2019-07-16 08:02
哭泣的眼泪 发表于 2016-10-22 09:29
串口设备会不会有问题???

可以具体一点吗

一周热门 更多>