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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
一只小菜鸡..18 小时前
南京大学 操作系统 (JYY) 学习笔记:进程、系统调用与状态机管理
笔记·学习
Zevalin爱灰灰20 小时前
能源与电源管理电路——防倒灌电路
单片机·嵌入式硬件·电源管理
天国梦21 小时前
2026英语教学系统选型实战:AI如何让备课效率提升42%?天学网技术落地全解析
人工智能·学习
维克兜率天1 天前
【维克】大数定律与中心极限定理:为什么长期均值终将回归?
经验分享·学习·金融·概率论
中微极客1 天前
降维算法75倍加速:从PCA到稀疏字典学习的工程实践
人工智能·学习·算法
jianqiang.xue1 天前
ESP-IDF保姆级入门02|Ubuntu24.04搭建EIM-GUI开发环境,打通Windows_Linux双平台统一开发
stm32·单片机·物联网
无垠的广袤1 天前
【工业树莓派 CM0 Dev Board】扩展板设计
linux·python·嵌入式硬件·pcb设计·模块化·传感器
嵌入式-老费1 天前
esp32开发与应用(添加数据分区)
单片机·嵌入式硬件
吃好睡好便好1 天前
MATLAB中图像的读取、写入和显示
开发语言·图像处理·学习·计算机视觉·matlab
~kiss~1 天前
大模型中的强化学习算法和对齐算法的区别
学习