RS485 / RS232/TTL

← 返回 MOC | ← 主页|←UART


TTL电平 :逻辑1=高电平(3.3V/5V),逻辑0=低电平。传输距离短(几米),适合板级通信。

RS232 :逻辑❗1=负电压(-3~-15),逻辑❗0=正电压(+3 ~+15)。一对一.抗干扰强,距离十几米。需要MAX232转换芯片。

RS485 :❗差分信号,❗半双工,支持多点通信(32个节点),距离可达1200米,抗干扰最强。广泛用于工业通信(Modbus)。

选型:板级TTL,近距离点对点RS232,远距离多设备RS485。


关于半双工的RS485的代码:

TDR发送寄存器:可以直接赋值,一字节就自己发送出去了 TXE发送寄存器为空标志位:8位满了这个就归0,1的时候就移位寄存器就来拿数据走了,可以开始传数据了 TC发送完成标志位:代表移位寄存器全部都拿走了,1的时候可以切换485的方向了

RS485_DIR = 1; // 切换为发送模式
UART_SendByte(0x55);
while(TC == 0); // 必须等移位寄存器把最后一个停止位也吐干净!
RS485_DIR = 0; // 此时切换回接收模式绝对安全