Answers:
不,UART和RS-232不相同。
UART负责发送和接收一系列位。在UART的输出上,这些位通常由逻辑电平电压表示。这些位可以成为RS-232,RS-422,RS-485或某些专有规范。
RS-232指定电压电平。请注意,其中一些电压电平为负,它们也可以达到±15V。较大的电压摆幅使RS-232更具抗干扰性(尽管仅在某种程度上)。
微控制器UART本身不能产生这样的电压电平。这是通过一个附加组件完成的:RS-232线路驱动器。RS-232线路驱动器的经典示例是MAX232。如果浏览数据表,您会注意到该IC具有电荷泵,该电荷泵可从+ 5V产生±10V。
(来源)
UART(或USART)-通用(异步)异步接收器/发送器
本质上,这是一个串行通信接口。“通用”部分意味着可以对其进行配置以支持许多不同的特定串行协议。该术语是通用的,并不代表特定的标准。至少,这意味着它具有TX
和RX
一行,用于发送串行数据流和接收串行数据流。
RS-232-一种标准,用于定义两个设备之间的信号,并定义信号名称,其用途,电压电平,连接器和引出线。
这是允许设备互操作性的特定接口标准。虽然两个硬件都可能具有UART,但您不知道它们将无损坏地连接,或者无法正确通信,除非您知道它们具有相同的管脚和电压标准,或者包括专用于UART互连的转换器或专用有线电缆这两个特定的设备。为了避免需要特殊的转换器或电缆,制造商可以选择遵循RS-232标准。这样,您就会知道,一条标准的RS-232电缆将连接这两者。
但是,UART和RS-232标准都没有定义在TX
和RX
线上发送的内容。通常,当人们使用RS-232时,他们使用具有一个起始位和一个停止位的简单8位NRZ编码。如今制造的大多数设备都使用这种编码,但没有要求这样做。您可以找到包含奇偶校验位或使用7或9位的旧设备。UART可以配置为在TX
和RX
行上支持这些各种协议。
UART通常不直接与RS-232接口。您将需要将UART的输出转换为RS-232要求的+/- 12V标准。完整的RS-232接口通常将同时包含UART和RS-232电平转换器。此外,RS-232标准还包括TX
和以外的其他几个信号引脚的定义RX
,您可能需要根据所要连接的设备使用这些信号。这些也将需要进行电平转换,并且您的UART可能支持或可能不支持这些信号。如果不是,则必须直接用软件/固件控制它们。
因此,尽管UART可以帮助您实现RS-232接口,但它本身并不是RS-232接口。
UART的功能是将PC总线上的并行数据转换为串行数据,以通过线路驱动器传输到RS-232,RS-422和RS-485设备。UART芯片的时钟引脚由可编程时钟源供电。时钟速度取决于设备将使用的波特率配置。时钟速度为16 X波特率。将示波器探头放在UART芯片的时钟引脚上并确定频率,然后除以16是确定未知波特率的一种方法。