[STM32] 串口通信 (十一)

文章目录

1.串口和串口通信

串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。

串口可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。

串口通信(Serial Communications)是串口按位(bit)发送和接收字节的通信方式,它是嵌入式物联网领域中常用的通讯方式。

典型的串口通信使用3根线完成,分别是发送、接收、地线。

由于串口通信是异步的,所以端口能够在一根线上发送数据,同时在另一根线上接收数据。

异步通信和同步通信都要进行发送方和接收方的"同步"。其中异步通信按字符进行传输,利用每一帧的起始位和停止位实现同步;而同步通信采用共同外部时钟来进行同步。

TX(Transmit Exchange)数据发送脚

RX(Receive Exchange)数据接收脚

GND(Ground)地线

A设备的Tx数据发送脚要连接B设备的Rx数据接收脚;

同理,B设备的Tx数据发送脚要连接A设备的Rx数据接收脚;

GND脚两设备需要直接连接以保持共地,消除电路中的干扰。

2.串口通信协议

3.电平标准

  1. TTL(Transistor-Transistor Logic): +3.3和+5表示1, 0表示0。
  2. RS232: -3 ~ -15表示1, +3 ~ +15表示0, RS232是全双工通讯:能同时接收和发送,即允许数据同时在两个方向上传输。特点是只能进行点对点的简单通讯。
  3. RS485: 线差为+2 ~ +6表示1, -2 ~ -6表示0。半双工通讯:既能接收又能发送,但在同一时刻只允许数据在一个方向上传输。半双工可以实现一主多从的通讯。
相关推荐
于小猿Sup6 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
chao1898448 小时前
STM32 HAL库驱动AT24C02 EEPROM例程
stm32·单片机·嵌入式硬件
不会武功的火柴9 小时前
SystemVerilog语法(8)-有限状态机(FSM)
嵌入式硬件·fpga开发·自动化·ic验证·rtl·uvm方法学
猫猫的小茶馆11 小时前
【Python】函数与模块化编程
linux·开发语言·arm开发·驱动开发·python·stm32
feifeigo12311 小时前
STM32矩阵键盘驱动(库函数版)实现
stm32·矩阵·计算机外设
嵌入式小站12 小时前
STM32 零基础可移植教程 05:按键消抖,为什么按一次会触发好几次
chrome·stm32·嵌入式硬件
czhaii12 小时前
跟我动手学FX系列PLC GX2环境
嵌入式硬件
拾知_H13 小时前
STM32/Delay延时函数编程思路
stm32·单片机·时钟·延时
2zcode14 小时前
基于STM32的智能扫地机器人设计与实现
stm32·嵌入式硬件·机器人
jllllyuz14 小时前
单相并网逆变器控制代码实现(STM32版)
stm32·单片机·嵌入式硬件