标题: 求助贴,请各位大神看一下这个485通讯程序有什么问题 [打印本页]

作者: 947732196    时间: 2019-1-3 10:28
标题: 求助贴,请各位大神看一下这个485通讯程序有什么问题
为什么发送数据“1”,led1不会亮



程序如下:
#include "reg52.h"               

typedef unsigned int u16;      
typedef unsigned char u8;
u16 receiveData;
u16 a;
sbit RS485DIR=P1^0;   
sbit led1=P0^0;
sbit led2=P0^1;

void delay(u16 i)
{
        while(i--);        
}


void UsartInit()
{
        SCON=0X50;         
        TMOD=0X20;      
        PCON=0X80;      
        TH1=0XF3;         
        TL1=0XF3;
        ES=1;
        EA=1;
        TR1=1;
        RS485DIR=0;
        
}

void Usart() interrupt 4
{
        

        receiveData=SBUF;
        a=receiveData;
        RI = 0;
        delay(100);
        

}

void main()
{               

        UsartInit();  

  if(a==1)
   {led1=1;led2=0;}
  if(a==0)
        {led1=0;led2=1;}

}



作者: 947732196    时间: 2019-1-3 10:41
不要沉
作者: 1092648746    时间: 2019-1-3 12:29
main函数没有while循环,加个while循环检查a试试
作者: 947732196    时间: 2019-1-3 15:28
1092648746 发表于 2019-1-3 12:29
main函数没有while循环,加个while循环检查a试试

加个while(1);吗
作者: 445082068    时间: 2019-1-14 20:52
主函数判断部分加个while循环,或者直接在中断函数进行判断




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1