本文经授权转载自公众号嵌入式Linux(id:Linux-c-world),作者昵称也很故意思--写代码的篮球球痴,望文生义,估计是他又喜好写代码又喜好打球吧,人称韦工。和韦老师是同族,也是我们的校园代理。
TTL电平:
TTL是Transistor-Transistor Logic,即晶体管-晶体管逻辑的简称,它是打算机处理器掌握的设备内部各部分之间通信的标准技能。TTL电平旗子暗记运用广泛,是由于其数据表示采取二进制规定,+5V等价于逻辑"1",0V等价于逻辑"0"。

数字电路中,由TTL电子元器件组成电路的电平是个电压范围,规定:
输出高电平>=2.4V,输出低电平<=0.4V;
输入高电平>=2.0V,输入低电平<=0.8V。
噪声容限是0.4V。
RS232电平:
RS232是串口的一个标准,它有自己的电平定义:它采取负逻辑,-15V~-3V代表逻辑"1",+3V~+15V代表逻辑"0"。
串口,COM口便是电脑上的物理接口形式,COM口简称串口。而TTL,RS-232,是电平标准,便是多少电压范围代表逻辑“ 1 ”,多少电压范围代表逻辑“ 0 ”。大家都知道在电子的天下里面便是 0 和 1 而已嘛。
下图是 USB 转 RS232 的转换线,我们看到很多线,只假如 9 pin 的,就可以预测这个鬼东西是 RS232 的串口线,如果是 排针引出的,可以认为是 TTL 电平的。
PL2303、CP2102 芯片是 USB 转成 TTL 串口的芯片,我们以前在学习 51 单片机、 STM32时常常这样用,也要把稳端口的电平是多少 V 。而 MAX232 芯片是 TTL 电平 和 RS232 电平的双向转换芯片。
为什么有了 TTL 电平还须要 RS232 和 RS485 两种电平呢?
是由于TTL 电平传输间隔比较近,紧张用于芯片之间的传输,RS232 和 RS485 数据传输间隔比较远。
一样平常从芯片里引出的UART口便是TTL电平,其引脚如下:
学习 STC 单片机的同学该当记得,以前开拓的时候,都是用串口线给单片机下载程序,用的串口便是 RS232 ,类似下图,事情往后公司配的电脑都没有了RS232,条记本也没有RS232了,用的最多的都是 USB 转串口线。
末了分享最近碰着串口调试中比较奇葩的问题,最近做一个 Android 设备上的串口透传实验,前两周做好了 demo ,收发数据都没问题,发送 0123456789ABCDEF 在吸收端也能正常吸收,本日调试时创造有问题,吸收到的数据变成了 7F6E5D4C3B2A1908 (而且每次都是这样的稳定数据),当时看到这个数据,切实其实要疯了,又用命令行 echo cat 调试,结果还是一样的悲剧,实在没办法,约了小 C 去楼下喝了一杯水,回来把设备上的串口线重新插拔了下,结果,你们知道的,就那么好了。这里想说的是,调试之前一定要担保硬件设备是 OK 的,而且要记录好之前的调试记录和软件硬件环境,这样能减少排查问题的韶光。
这样的办理办法不是正向的,N 年前,口试时,有个口试官问我一个很刁钻的问题,说碰着难题的时候如何正向办理,也便是说创造问题后,不能倒推验证,相反,我是比较喜好倒推验证的,「不管白猫黑猫,抓到老鼠的便是好猫」。
--END--
预热 | 万众期待的单片机,Linux二合一的STM32MP157开拓板亮相
理解更多