注意:RS232、RS485只是在电气层面上规定了通信的一些电气特性,在编程本质上还是直接操控UART控制器及相关寄存器。
UART存在的问题
- 电气接口不统一
UART只是对通信协议的时序进行了定义,而未定义通信接口的电气特性;
比如:UART协议规定了1表示高电平,0表示低电平,而且UART通信时一般直接使用处理器自身使 用的电平,即TTL电平,但是不同的MCU处理器使用的电平存在差异,所以不同的处理器使用UART通信时一般不能直接相连,否则容易导致数据出错,甚至烧毁MCU
另外,UART没有规定不同的器件间连接时连接器的标准,它有RX和TX,GND,VCC四根线,使用时 需要我们根据协议(RX连TX,TX连RX)接好线才能使用,不像家用电气一样,插头和插座有统一的标 准,无脑插上即可用。所以在不同的器件之间通过UART通信时连接很不方便
-
抗干扰能力差
UART一般直接使用TTL信号来表示0和1,但是TTL信号的抗干扰能力较差,数据在传输过程中很同意出错
-
通信距离短
正因为UART的抗干扰能力较差,所以其通信距离也很短,一般只用于同一个电路板上两个芯片之间的通信
RS232协议
RS232协议是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家、计算机终端生产厂家共同制定的用于串行通讯的标准;
该标准规定采用一个标准的连接器&#x