空闲时rs485不停发数据

2020-02-04 09:12发布

还是485的问题
电路图在2楼
测试的时候
发现在空闲的时候485总是不停的发送数据
不知道是什么原因
都是0x00

程序是一个很简单的测试程序
#define uchar unsigned char
bit Rflag=0;
uchar Accedata;



/*******串口初始化******************/
void Usart_Init(void)       
{
//        AUXR=0X00;
        SCON=0X50;
        PCON=0X80;          //波特率加倍
        TMOD=0X20;
        TH1=0XF3;           //波特率2400
        TL1=0XF3;
        EA=1;
        ES=1;
        TR1=1;
}

void Usart_Send(uchar Sdata)
{
        SBUF=Sdata;
        while(!TI);
        TI=0;
}

/*******RS485发送程序***************************/
void RS485_Send(uchar Sdata)
{  
        RS485=1;                         //RS485用于使能485发送和接收
                Usart_Send(Sdata);
        RS485=0;
}

void main()
{
        Usart_Init();
//        Usart_Send(0);
        RS485=0;
        while(1)
        {
//                Usart_Send(0xff);
                if(Rflag){
                        RS485_Send(Accedata);
                        Rflag=0;
                }       
        }
}

void Usatr() interrupt 4
{
        EA=0;
        if(RI){
                Rflag=1;
                Accedata=SBUF;
        }
        EA=1;
}

其中RS485就是那个控制引脚DE
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。