首页 » 互联网 » 一文让你看懂串口通讯_串口_通信

一文让你看懂串口通讯_串口_通信

神尊大人 2024-11-13 21:05:17 0

扫一扫用手机浏览

文章目录 [+]

以是呢,你们要负责看完我为你们精心体例的小故事,看完之后,你会对现在的通讯有一个更加深刻的理解。

烽火台

在迢遥的古代,没有手机、电脑这样的通讯工具,更没有汽车、飞机之类的交通工具,那么如果有仇敌来攻城的话,如何快速通报把信息通报给千里之外的兵营呢?

一文让你看懂串口通讯_串口_通信 一文让你看懂串口通讯_串口_通信 互联网

答案想必大家都知道,那便是烽火台!

一文让你看懂串口通讯_串口_通信 一文让你看懂串口通讯_串口_通信 互联网
(图片来自网络侵删)

而且是每隔数里培植一个烽火台,等有仇敌来犯就点燃烟草,烽烟会在短韶光内传到千里之外的兵营。

我们暂且称它为烽烟通讯,它的通讯事理很大略,有烽烟的情形就代表着有仇敌来犯,如果没有烽烟就代表统统正常,它只会涌现两种情形。

但是有烽烟并不一定是涌现了战役,比如说西周期间的周幽王为了博美人褒姒一笑,在没有发生战役的情形下,点燃了烽火台,各方诸侯诸侯纷纭赶来救驾,来了之后周幽王和褒姒在台上哈哈大笑,面对奇耻大辱,犬戎一怒之下杀去世了周幽王。

由于烽烟意味着仇敌来犯早已在人们心中达成共识,以是纵然是假的,各方诸侯也会默认为真。
通讯只能事先代表约定俗成的东西、而不能反响事实上发生的事情。

烽火台这种通讯办法看似大略,但却是我们现在所有高等通讯的根本,夸年夜一点的讲,无论多么繁芜的通讯,像红外遥控、wifi、3G、5G这些都可以说成是烽烟通讯的衍生品,无论当代多么繁芜的通讯办法,它的事理都是基于这种烽烟通讯蜕变而来的,即在某一时候不是在通报高电平,便是低电平。

只不过这些当代化通讯传输的速率极快,在一秒当中变换高低电平几千万次,乃至上亿次,它可以使我们在及短的韶光内吸收/传输大量的信息。
如果把韶光放慢、放慢再放慢,你会创造这些当代化的通讯实行的便是一直的把烽火台点燃熄灭的过程。

串口通讯

串口通讯是电子研发职员常用的一种通讯,也是最大略的一种通讯之一。
这种通讯目前最常见的一种形式是:芯片与电脑之间通讯,它的传输速率极慢,常日传输速率1-10KB/S,这个速率比较于我们现在的USB传输速率相差了几千乃至上万倍,但为什么这种通讯至今还没有被淘汰呢?

老式串口接口,现在已经淘汰

要知道电子开拓职员所利用的芯片不是做存储用的,它可能传输的便是温度、间隔、压力这些,纵然是1K/S,我们也能在1S之内接管1024个数据,对付人类而言,这个速率显然是足够快的,1024次/S的速率就把我们开的眼花缭乱了,面对如此‘多’的数据,你会自身难保,以是这种低端芯片与电脑通讯每每采取串口通讯。

接下来说一下串口到底是如何在芯片和电脑之间传输的。

串口通讯本来及其大略的一种通讯,可是现在与之有关的教科书里官腔太多,而且还掺杂着很多专业术语,比如各种寄存器、锁存器这些,除此之外还讲述了串口的很多情形,同步或者异步都有,很多情形是用不到的,学生们每每是怀着期望的心去学习,但是终极却失落望而归,只要有一个寄存器的事理不懂,就会影响到你学习的心情。

串口接线

很多人虽然会利用串口通讯了,但是详细是怎么发出去的,可能知道的人就不多了,反正是配置好寄存器就可以利用串口通讯了,这种学习方法是最快的,但是对这个串口的基本事情事理理解的还是不到位。

接下来我们来更深一步的去理解串口,在理解串口之前我们首先要直到串口发送的是什么?

串口实在发送的是高低电平,比如我们把要发送信息的高低电平发送给电脑,它就直到我们发送的信息,并且显示出来、那么问题又来了,电脑是如何直到这些高低电平代表的什么呢?

这些呀,早就有人想过了,就像我们之前讲过的烽烟通讯,烽烟代表仇敌来犯。
这个串口传输的高低电平也早就我们聪明的人类定义好了,不过这次不是中国人了,而是美国人定义的,然后全天下都这么利用了。

ASCII码

ASCII表如下图所示,每一个图形都对应的8位的二进制,比如A对应的是0100 0001,如果我们要给电脑发送A的话,是不是发送0100 0001对应的高低电平就可以了(1对应高电平)?

当然不是了,由于要成功的发送数据,在它发送数据之前,首先要给电脑发送一个开始旗子暗记,不然电脑吸收就乱了,就像我们去取快递,都是在收到短信之后再过去,不然去了可能快递还没有到呢。

串口发送数据也一样,首先要发送一个开始的旗子暗记,这个旗子暗记也叫做起始位。
在串口不事情的时候默认的都是高电平,如果要给电脑开始的旗子暗记,只须要给一个低电平,电脑就会被唤醒吸收我们发送的串口数据,然后我们再逐次发送ASCII数据,是一个一个的发送,而不是同一时候一起发送。
串口嘛,就跟串羊肉串一样,都是一个个的往竹签上串。

这也是串口的上风,发送只须要一根线,如果是并口的话,发送8位数据,就得须要8根线,就物理接线而言,显然串口更有上风。

在8位数据发送完成之后,末了还须要发送一位停滞位,即末了一位把电平拉高,见告电脑发送结束,让电脑准备下一次吸收。
这东西和我们取快递一样,拿完贵重快递,不能直接走吧,末了还须要具名不是。

以是要发送A的话,须要发送:

10100 00010

1(停滞位) 0100 0001(中间8个为字符A) 0(起始位)

无论是串口发清偿是取快递都是人类想出来的流程,以是存在共性。

波特率

还有末了一个问题没有办理,那便是这每一位的发送间隔是多少呢?

我们还拿烽烟通讯为例,站岗小兵也不是时时刻刻在盯着烽火台,可能是一小时看一次,然后他大概会做一些娱乐项目。

现在,我们发送串口数据也一样,我们要提前约定好,多永劫光发送一次,然后电脑上也要按照这个韶光去吸收,不然肯定会吸收到缺点的数据。

我们约定的这个韶光便是电子专业中常说的波特率,它所指的是在一秒之内发送了多少位数据。

就拿最常用的波特率9600来说,它所代表的是在1秒之内传输9600位数据(0或1)。

知道波特率之后,我们也就知道了传输一位所须要的韶光,即1/9600=104us。

104us对我们来说可能会很短暂,对芯片来却是极其漫长的韶光。

这时候还是会有人担心,万一吸收的时序对不上怎么办。

这个不用担心,由于芯片吸收时也不是104us吸收一次,它的吸收精度是这个韶光的16倍,即以6.5us的最小步长开始计数,它会在你每一位(104us)的中间时候吸收数据,这样偏差就会变的很小。

仿照串口吧

以是,串口通讯不须要配置寄存器,直接用单片机的I/O口输出高低电平也可以实现,由于它和你在单片机上配置寄存器是一样的,如果最开始你是利用的寄存器来学习串口,可能是只会串口的收发,而不直到串口的最基本发送事理。

如果你有兴趣的话,直接在单片机上用I/O仿照串口发送试一试,虽然终极我们都会利用配置寄存器的办法发送串口数据,但这样做你会对串口发送有一个新的认识。

Final上述所讲的串口通讯是最为常用的一种情形,即只有一个起始伟和停滞位、无奇偶校验位、波特率为9600。

其它的情形不太常用,暂时就不做阐述。

然后再对上述情形做一个小总结:

发送的数据共10位。

第一位是起始位:把电平拉低。

第二位~第九位:数据位,由所传输的字符决定。
在这10位当中,也就这8位是故意义的,由于起始位和停滞位不代表任何东西,我们可以说串口传输的效率为80%。

第十位是停滞位:把电平拉高。

为了检测大家有没有学会,给你们准备了一个小测试。

猜猜上图这10位代表哪个字符呢?(参考上面的ASCII码表)。

标签:

相关文章

从xf网络语言看当代年轻人的社交生态

随着互联网的普及,网络语言作为一种独特的文化现象,逐渐渗透到人们的日常生活中。其中,xf网络语言以其独特的魅力和丰富的内涵,成为了...

互联网 2025-01-04 阅读0 评论0