串口通讯(串行接口通讯)

文章目录


一、串行通讯是什么?

串行通讯是通信双方按位进行,遵守时序的一种通信方式。

串行通信中,将数据按位依次传输, 每位数据占据固定的时间长度,即可使用少数几条通信线路就可以完成系统间交换信息。

我们首先要使能 GPIO 时钟, 然后使能复用功能时钟,同时要把 GPIO 模式设置为复用功能对应的模式。这些准备工作做完之后, 剩下的当然是串口参数的初始化设置,包括波特率,停止位等等参数。在设置完成只能接下来 就是使能串口,这很容易理解。同时,如果我们开启了串口的中断,当然要初始化 NVIC 设置中断优先级别,最后编写中断服务函数。

串行通信最重要的参数是波特率、数据位、停止位和奇偶校验。

二、种类

串行通信协议是包括的有内部通信系统协议和系统间协议,内部系统协议有CAN协议、I2C协议、SPI协议;系统间协议有USART协议、UART协议、USB协议。

三、并行与串行的区别

串行:一个字节的数据,排成一行发送给接收设备。

并行:一个字节的数据,排成一列发送给接收设备。那当然并行速率快、吞吐量大、不过消耗IO资源也很多。

数据传送方式不同:串行口传输方式为数据排成一行、一位一位送出数据;并行口传输8位数据一次送出。

针脚不同:串行口针脚少,消耗IO资源少;并行口针脚多,消耗IO资源多。

用途不同:串行口主要用在速度要求不高、有一定距离的传输场景,如UART,I2C通信。并行口多用于传输速率要求高、吞吐量大的场景,如FSMC(Flexible Static Memory Controller,可变静态存储控制器),DVP(Digital Video Port,数字视频接口)等接口。

四、通信方式

  1. 同步通信:带时钟同步信号传输,SPI(全双工)、I2C(半双工)
  2. 异步通信:不带时钟同步信号,UART(全双工)、单总线(半双工)
    串行通信:
    单工:数据传输只支持数据在一个方向上传输
    半双工:允许数据在两个方向上传输,但在某一时刻只允许数据在一个方向上传输
    全双工:允许数据同时在两个方向上传输,要求收发设备都有独立的接收、发送能力

总结

串行通信作为计算机通信方式之一,主要起到主机与外设以及主机之间的数据传输作用,串行通信具有传输线少、成本低的特点,主要适用于近距离的人-机交换、实时监控等系统通信工作当中,借助于现有的电话网也能实现远距离传输,因此串行通信接口是计算机系统当中的常用接口。

相关推荐
国科安芯1 天前
ASL706S:让 MCU 不再“失忆跑飞“的守护芯片
分布式·单片机·嵌入式硬件·安全·fpga开发·架构
树的枝1 天前
【STM32】03.中断和EXTI外设
笔记·stm32·单片机·嵌入式硬件
单片机杂货铺1 天前
【单片机毕业设计选题】基于stm32单片机儿童公路车速度检测报警
stm32·单片机·嵌入式硬件·51单片机·硬件工程·课程设计
振南的单片机世界1 天前
看门狗硬核拆解:1.6秒不喂狗,硬件强制“掀桌子”
arm开发·stm32·单片机·嵌入式硬件
嵌入式阿蔡1 天前
Linux_01:交叉编译与开发环境实战——从单片机跨到 Linux 的第一道坎
linux·运维·网络·单片机·嵌入式硬件·嵌入式实时数据库
NYFEA1 天前
徕飞 FCA系列全面上新,一站式I/O扩展国产替代方案
单片机·嵌入式硬件
国科安芯1 天前
ASL622S:把“信号失真“挡在门外的航天级运放
网络·单片机·嵌入式硬件·架构·状态模式·低轨卫星星座
XiHongShi20161 天前
STM32H7 FLASH和SRAM标准例程
stm32·单片机·嵌入式硬件
单片机杂货铺1 天前
【单片机毕业设计选题】基于单片机的智能牛奶保鲜箱设计
人工智能·stm32·单片机·物联网·毕业设计·课程设计
LCG元1 天前
STM32F103 硬件 I2C 驱动 MPU6050:一阶互补滤波姿态解算与零偏校准实测
stm32·单片机·嵌入式硬件