c# 串口 多线程_串口,com口,ttl,max232你应该知道的事

关注百问科技,选择置顶或标星

不错过任何精彩

---

先跟各位读者道个歉,由于我的疏忽,导致上一篇文章有误,所以给删除了。不过呢,我因此也问过作者,他说,那段程序需要在特定环境下运行,等我再细问,他也记不清具体场景,总之呢,小编还是要继续夯实技术基础,才能分享筛选出更多靠谱文章,一起努力吧。 前言

本文经授权转载自公众号嵌入式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 而已嘛。

b4c6ac0955490166aa2bbad6e8a52ecc.png

下图是 USB 转 RS232 的转换线,我们看到很多线,只要是 9 pin 的,就可以猜测这个鬼东西是 RS232 的串口线,如果是 排针引出的,可以认为是 TTL 电平的。

e8193f979f344df2d78977fab31930fb.png

PL2303、CP2102 芯片是 USB 转成 TTL 串口的芯片,我们以前在学习 51 单片机、 STM32时经常这样用,也要注意端口的电平是多少 V 。而 MAX232 芯片是 TTL 电平 和 RS232 电平的双向转换芯片。

58c30d5c30fb373191855a561cccd741.pngc641b447d0eb017ee9f6b1966e2e533a.png

为什么有了 TTL 电平还需要 RS232 和 RS485 两种电平呢?

是因为TTL 电平传输距离比较近,主要用于芯片之间的传输,RS232 和 RS485 数据传输距离比较远。

一般从芯片里引出的UART口就是TTL电平,其引脚如下:

f1867a048bcdf76e132366f7b76ea2bc.png

58c30d5c30fb373191855a561cccd741.png

学习 STC 单片机的同学应该记得,以前开发的时候,都是用串口线给单片机下载程序,用的串口就是 RS232 ,类似下图,工作以后公司配的电脑都没有了RS232,笔记本也没有RS232了,用的最多的都是 USB 转串口线。

58c30d5c30fb373191855a561cccd741.png

89c07a67a3449258389743b0259bc498.png

最后分享最近遇到串口调试中比较奇葩的问题,最近做一个 Android 设备上的串口透传实验,前两周做好了 demo ,收发数据都没问题,发送 0123456789ABCDEF 在接收端也能正常接收,今天调试时发现有问题,接收到的数据变成了 7F6E5D4C3B2A1908 (而且每次都是这样的稳定数据),当时看到这个数据,简直要疯了,又用命令行 echo cat 调试,结果还是一样的悲剧,实在没办法,约了小 C 去楼下喝了一杯水,回来把设备上的串口线重新插拔了下,结果,你们知道的,就那么好了。这里想说的是,调试之前一定要保证硬件设备是 OK 的,而且要记录好之前的调试记录和软件硬件环境,这样能减少排查问题的时间。

这样的解决办法不是正向的,N 年前,面试时,有个面试官问我一个很刁钻的问题,说遇到难题的时候如何正向解决,也就是说发现问题后,不能倒推验证,相反,我是比较喜欢倒推验证的,「不管白猫黑猫,抓到老鼠的就是好猫」。

--END--


如何获取优质嵌入式文章?

在本公众号后台回复字母m


427422ad3db1a82b6ad0b58a6a1ca8b5.png

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值