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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
雾削木25 分钟前
B语言经典教程现代化重构
java·前端·stm32·单片机·嵌入式硬件
Hello-FPGA36 分钟前
Camera Link 与 CoaXPress 技术对比 如何选择你的相机接口
单片机·嵌入式硬件
Digitally41 分钟前
如何快速将文件从电脑传输到平板电脑
stm32·嵌入式硬件·电脑
2601_9583529043 分钟前
嵌入式对讲收音降噪难题根治方案|AP-0316语音模组原理、实测与落地教程
人工智能·嵌入式硬件·语音识别·ai降噪·回音消除·音频处理模块
公考指南针1 小时前
2026常识判断完整备考指南:时政、法律、科技怎么备?粉笔、中公、华图、导氮怎么选?
经验分享·学习
济6171 小时前
BMS系统专栏:电池状态监控任务
嵌入式硬件·嵌入式·bms电池系统管理
DJ斯特拉1 小时前
Tlias智能学习辅助系统(前端部分)
前端·javascript·学习
星恒随风1 小时前
C++ string 类详解:常用接口、OJ 场景与模拟实现中的深浅拷贝
开发语言·c++·笔记·学习·状态模式
济6171 小时前
BMS系统专栏: BMS_ProtectTask 电池保护任务
嵌入式硬件·嵌入式·bms电池管理
XTIOT6661 小时前
多形态护照 OCR 读取器传输机制、识别算法与行业落地技术对比
大数据·人工智能·嵌入式硬件·物联网·ocr