微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 串口通信问题 新手

串口通信问题 新手

时间:10-02 整理:3721RD 点击:
#include<reg52.h>
#include<stdio.h>
#define uchar unsigned char
#define uint unsigned int
uchar flag,a,i;
uchar code table[]="I get ";
void init()
{
  TMOD=0x20;
  TH1=0xfd;
  TL1=0xfd;
  TR1=1;
  REN=1;
  SM0=0;
  SM1=1;
  EA=1;
  ES=1;

}

void main()
{
  init();
  while(1)
   {
    if(flag==1)
      {
       ES=0;
       P1=0xfe;  //问题在这里!为什么我还没在串口助手里面给单片机发送数据  
       for(i=0;i<6;i++)
         {
           SBUF=table;
           while(!TI);
           TI=0;
         }
      // printf("%d\n",a);
       SBUF=a+2;
       while(!TI);
       TI=0;
       ES=1;
       flag=0;
      }
   }
}

void ser() interrupt 4
{
  RI=0;
  a=SBUF;
  flag=1;
}

//问题在这里!为什么我还没在串口助手里面给单片机发送数据,就进入了if(flag==1){}里面使LED亮了呢?百思不得姐  谢谢各位了

复位一下试试

还是一样啊 ······

试试将flag赋初值0

试了,还是一样。

得复位一下才好使   但是不清楚  为什么会这样

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top