还是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
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>