一、电路原理图
图中 A、B 总线接口,用于连接 485 总线。RO 是接收输出端,DI 是发送数据收入端,RE是接收使能信号(低电平有效),DE 是发送使能信号(高电平有效)。RE DE接在一起就是高电平发送 低电平接收。
标题二、程序设计
在实现串口通信的基础上加入收发使能控制即可。结尾延时太短时很易出错数据还没发送完就切换为接收模式了。
//发送缓存数据 buf数据缓存 len数据长度
void RS485_SendBuf(uchar *buf,uchar len)
{
uchar cnt =0;
RS485_En = 1; //485发送模式
delay_ms(1);
while (cnt++< len) //检测字符串结束标志
{
Uart1SendData(*buf++); //发送当前字符
}
delay_ms(5);
RS485_En = 0; //485接收模式
}