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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
hazy1k35 分钟前
51单片机基础-TFT LCD 显示(ILI9341,SPI 4线)
c语言·stm32·单片机·嵌入式硬件·51单片机
星辰大海14121 小时前
摄影入门学习笔记
笔记·数码相机·学习
brave and determined1 小时前
硬件-内存学习DAY14——3DXPoint:存储技术的革命与终结
嵌入式硬件·intel·3d xpoint·内存创新·内存设计·内存应用·内存新技术
沐矢羽1 小时前
upload文件上传漏洞浅析
学习·web安全·网络安全·文件上传·top10
shenghaide_jiahu1 小时前
数学分析简明教程——2.3 (未完)
学习
zjshuster3 小时前
elastic search 学习
学习·elasticsearch·jenkins
D.....l3 小时前
STM32学习(MCU控制)(RS485 and ModBus)
stm32·单片机·学习
deng-c-f3 小时前
Linux C/C++ 学习日记(42):dpdk(五):基于dpdk实现用户态的UDP收发数据、和TCP的三次握手及接收数据
学习·dpdk
恒者走天下3 小时前
cpp / c++零基础就业学习一站式学习平台
开发语言·c++·学习
来来走走3 小时前
kotlin学习 lambda编程
android·学习·kotlin