嵌入式开发学习日志36——stm32之USART串口通信前述

stm32还有额外的串口通信功能,只不过在介绍串口通信前,考虑到各位读者术业有专攻,可能对通信的知识并不是十分熟悉,得先来讲解一下通信的基本概念。

通信,讲得简单点,就是人和人进行交流,不过需要通过发送接收设备以及相对应的通道来进行。

通信的方式多种多样,按照数据传送方式来分,就可以分为串口通信以及并行通讯;按照通信的同步方式进行划分,可以分为异步以及同步通信;按照数据的传输方向分,还能分为单工通信、半双工通信以及全双工通信。

所谓串行通信,是用一根数据线,将数据一位一位地依次传输,每个数据都会占据固定的时间长度。这种通信的好处显而易见,传输线少,长距离传输时成本就比较低,并且可以借助现有的设备进行,但是因为要处理每一位数据,数据传送的控制会比较复杂。

并行通信与串口通信相反,它是可以通过多条线路同时传输数据,并且数据可以多位传输。相较于串口通信,并行通信的信息传输速率更快,控制起来更简单,但是由于用到的数据线较多,所以成本较高,同时很难控制接收方同时接收数据,传输时的抗干扰能力也不强。

异步通信是接发双方按照各自的时间系统进行数据的接收以及发送,虽然发送方和接收方的时钟可以尽量保持一致,但是并不强求。异步通信以字符构成帧为单位进行数据传输,每个字符会附加2~3位起止位,字符与字符之间会有任意的时间间隔,因此传输效率并不高。

同步通信并不是双方按照各自的时钟强制保持相同,而是由发送方直接对接收方的时钟进行控制,进而保证时间上的同步。此时,传输的字符之间就并不会再有间隔,以此来保证位同步关系。

至于剩下三个通信方式就比较简单。

单工通信就是数据只沿着一个方向进行传输,由发送方到接收方,而不能进行反向操作,限制十分明显。

半双工通信可以实现数据的双向传输,但是这个双向传输仍然有限制,不能同时进行,发送方到接收方传输时,接收方就无法向发送方进行数据传输。

全双工通信更加全面,可以实现数据的同步双向传输,不过,成本会比较高。

相关推荐
2501_922639589 小时前
率能半导体 SS6285L直流双向马达驱动芯片:18V/5A,覆盖电子锁、按摩仪、电动玩具、机器人四大应用场景
单片机·嵌入式硬件·硬件工程
xier_ran9 小时前
【infra之路】AI 编译器学习笔记(十三):AI 编译器全景——TVM、XLA、IREE 与其他
人工智能·笔记·学习
连山齐名9 小时前
ai应用开发的学习笔记
服务器·笔记·学习
专一的咸鱼哥10 小时前
预训练 ONNX 模型转换为 .eim
嵌入式硬件·机器人
SuperByteMaster10 小时前
三极管 做开关电路 要尽快跳过放大区
嵌入式硬件
xier_ran10 小时前
【infra之路】AI 编译器学习笔记(十四):为什么要 tiling,以及矩阵计算单元的“固定“
人工智能·笔记·学习
铅笔小新z10 小时前
【stm32】输入捕获-超声波测距
stm32·单片机·嵌入式硬件
Zw-awa10 小时前
PID 的花样:先看懂模糊 PID 和单神经元自适应 PID
stm32
燕落南枝10 小时前
HTML 学习:辅助标签 label 与字符实体
前端·学习·html
菩提树下的凡夫10 小时前
机器视觉LED光源控制器
单片机·嵌入式硬件