STM32F103 学习笔记-20-通信的基本概念

引言

在嵌入式系统中,通信是设备之间数据传输的基础。STM32微控制器支持多种通信协议,如USART、I2C、SPI等。理解通信的基本概念对于后续学习外设编程至关重要。本笔记基于《零死角玩转STM32》的"通信的基本概念"章节,详细讲解通信的核心原理,帮助新手小白建立扎实的基础。

1. 串行与并行通信

通信方式分为串行和并行两类,它们决定了数据位的传输形式。

  • 串行通信:数据位按顺序依次传输,只需一条数据线。优点是成本低、抗干扰强、适合远距离通信,但传输速率较慢。常见应用如UART、USB、以太网。

  • 并行通信:多个数据位同时通过多条数据线传输。优点是速率高,但成本高、抗干扰弱、距离短。例如,STM32的GPIO口可配置为并行模式,用于LCD屏控制。

特性对比见下表:

特性 串行通讯 并行通讯
通讯距离 较远 较近
抗干扰能力 较强 较弱
传输速率 较慢 较高
成本 较低 较高

原理:串行通信逐位传输,节省引脚资源;并行通信一次传输多比特,但需要同步时钟,易受干扰。在STM32中,大多数外设(如串口)采用串行方式,以平衡效率和成本。

2. 全双工、半双工和单工

数据流向决定了通信的灵活性:

  • 全双工:双方可同时收发数据(如电话通话)。例如,STM32的USART支持全双工,TX和RX引脚独立工作。

  • 半双工:双方可收发数据,但不能同时进行(如对讲机)。例如,I2C总线在半双工模式下,SDA线分时用于发送和接收。

  • 单工:数据只能单向传输(如广播)。例如,STM32的ADC读取传感器数据时,数据仅从传感器流向MCU。

应用场景:全双工适合实时交互(如调试串口),半双工适合多设备共享总线(如传感器网络),单工适合简单数据采集。

3. 同步与异步

时钟同步方式影响通信的可靠性和效率:

  • 同步通信:收发方使用共享时钟信号,数据位在时钟边沿采样。效率高,但时钟偏差会导致错误。常见于SPI、I2C。

  • 异步通信:无共享时钟,双方依赖预定义的波特率。数据包包含起始位、停止位等标识符,容错性强,但效率较低。常见于UART。

对比:同步通信数据中有效比例高,但对时钟精度要求严格;异步通信通过帧结构保证可靠性,时钟允许误差大。在STM32中,配置通信协议时需根据场景选择同步或异步模式。

4. 通信的速率

速率是衡量通信性能的关键:

  • 比特率:每秒传输的二进制位数(bit/s)。例如,115200 bit/s表示每秒传输115200比特。

  • 波特率:每秒传输的码元个数。一个码元可携带多个比特(通过调制),但在二进制系统中,波特率等于比特率。

码元概念

  • 单二进制位码元:0V代表"0",3.3V代表"1",每个码元携带1比特。

  • 多二进制位码元:如4电平调制(0V/2V/4V/6V),每个码元可表示2比特(00/01/10/11),波特率相同时比特率翻倍。

在STM32中,设置USART波特率时,实际是配置比特率。需确保收发方波特率一致,否则数据错乱。

总结

  • 串行/并行是数据传输形式,影响引脚数和速率。

  • 全双工/半双工/单工决定数据流向灵活性。

  • 同步/异步关乎时钟同步方式,影响效率和可靠性。

  • 比特率和波特率是速率核心参数,需匹配硬件配置。

掌握这些概念后,后续学习STM32的具体通信外设(如USART、SPI)将更轻松。建议结合实验(如串口通信)加深理解。


本文档参考《零死角玩转STM32》,及配套章节PPT

相关推荐
小弥儿5 小时前
GitHub今日热榜 | 2026-08-01:硬件安全工具与AI教育并行
人工智能·学习·开源·github
秋雨梧桐叶落莳5 小时前
计算器仿写总结
学习·macos·ios·objective-c·cocoa
统计学小王子6 小时前
《数学少年-从正负号到几何原本》(第一章:“刻度之上,零为分界“)--1.2 电梯与账单里的相反数字
学习·初中数学·初中数学科普·数学科普
流云鹤6 小时前
03Java学习day(3)
java·学习
万亿少女的梦1686 小时前
基于STM32、RFID与OneNET的开放性实验室电源节点设计
stm32·物联网·onenet·rfid·esp8266
我命由我123457 小时前
棘轮效应极简理解
经验分享·学习·职场和发展·产品运营·求职招聘·职场发展·学习方法
tt5555555555557 小时前
电工证学习笔记(二)
笔记·学习·电力
wc887 小时前
微软EDGE浏览器功能学习
前端·学习·edge
hPw0eKIqD7 小时前
一步一步学习使用FireMonkey动画() 使用动画组件为窗体添加动态效果
学习
156082072197 小时前
飞腾D2000接入外部时钟HYM8563芯片调试
驱动开发·嵌入式硬件·mcu