三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

TTL 和 RS232 到底有什么区别?一句话:表示 0 和 1 的电压不一样

TTL 和 RS232 到底有什么区别?一句话:表示 0 和 1 的电压不一样

一句话: TTL 用 0V/3.3V 表示 0 和 1,是芯片原生的信号。RS232 用 ±5V~±15V 表示,电压摆幅大、抗干扰强、适合走长线。两根线接同一个串口,中间就差一个电平转换芯片。

适合谁读:适合嵌入式开发者、单片机初学者及遇到类似问题的工程师

物理区别就一个

TTLRS232
发"1"3.3V(高电平)负电压(-5V ~ -15V)
发"0"0V(地)正电压(+5V ~ +15V)
线数3 根(TX, RX, GND)3 根
传输距离板级(几厘米到几十厘米)几十米
抗干扰一般强(正负摆幅大)

注意:RS232 的逻辑是反的——"1"用负电压,"0"用正电压。


为什么要有两种

TTL 是芯片原生的电平。MCU 的 GPIO 口直接输出 0V 或 3.3V。

但这个信号走不了长线——电缆上有电阻和电容,3.3V 的摆幅走几米就衰减到分不清 0 还是 1 了。

RS232 把电压摆幅拉大到 ±5V 甚至 ±15V——信号到对端还很清晰,中间有个电平转换芯片(比如 MAX232)做互转。

简单记:TTL 是芯片原生的,RS232 是能走长线的。


电路上怎么接

MCU TX ──> MAX232 ──> RS232 电缆 ──> MAX232 ──> 对端 RX MCU RX <── MAX232 <── RS232 电缆 <── MAX232 <── 对端 TX GND ──────────────────────────────── GND

MAX232 一脚接 TTL,一脚接 RS232,中间做升压/降压。


什么时候用哪个

场景用 TTL用 RS232
同一块板子上的芯片通信
USB 转串口模块(CH340/CP2102)
和电脑 COM 口通信
几米外的设备通信
调试时用杜邦线连

别接错了

TTL 直接接到 RS232 接口上——烧芯片。MAX232 输出的 ±12V 灌进 MCU 的 3.3V 引脚,IO 口直接废掉。

反过来,RS232 设备接到 TTL 口上——不发数据。3.3V 的摆幅在 RS232 接收器眼里可能连阈值都够不着。

中间必须有一个电平转换芯片。


总结

要点说明
本质区别表示 0/1 的电压不同
TTL芯片原生,0V/3.3V,板级通信
RS232±5V~±15V,抗干扰强,长距离
互连必须经过 MAX232 等电平转换芯片

有用的话点个收藏,下次调试直接用。有问题欢迎评论区交流,看到了都会回。

下一篇:用分和元讲透(附代码)——NTC测温、SPI通信、I2C从机、定点数运算——外设驱动从入门到精通

← 返回列表