STM32F103学习笔记三 串口通信
本文参照正点原子STM32F1xx官方资料:《STM32中文参考手册V10》-第25章通用同步异步收发器(USART) 及
【STM32】串口通信基本原理(超基础、详细版)
单片机入门学习十 STM32单片机学习七 串口通讯
1、串口通信背景知识
1.1、 设备之间的通信方式
并行通信 | 串行通信 | |
---|---|---|
传输原理 | 数据各个位同时传输 | 数据按位顺序传输 |
优点 | 速度快 | 占用引脚资源少 |
缺点 | 占用引脚资源多 | 速度相对较慢 |
1.2、 串行通信分类
1.2.1、按照通信方式,分为:
同步通信:带时钟同步信号传输。比如:SPI,I²C通信接口
异步通信:不带时钟同步信号。比如:UART(通用异步收发器),单总线
1.2.2、按照数据传送方向,分为:
单工:数据传输只支持数据在一个方向上传输;
半双工:允许数据在两个方向上传输。但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;它不需要独立的接收端和发送端,两者可以合并一起使用一个端口。
全双工:允许数据同时在两个方向上传输。因此,全双工通信是两个单工通信方式的结合,需要独立的接收端和发送端。
1.3、常见的串行通信接口
2、STM32的串口通信基础
2.1、STM32的串口通信接口有两种,分别是:
UART(通用异步收发器)、
USART(通用同步异步收发器)、
对于大容量STM32F10x系列芯片,分别有3个USART和2个UART。
2.2、UART引脚连接方法
① 单片机连接单片机
RXD:数据输入引脚,数据接受
TXD"数据发送引脚,数据发送
对于两个芯片之间的连接,两个芯片GND共地,同时TXD和RXD交叉连接。这里的交叉连接的意思就是,芯片1的RxD连接芯片2的TXD,芯片2的RXD连接芯片1的TXD。这样,两个芯片之间就可以进行TTL电平通信了
② 单片机连接PC
若是芯片与PC机(或上位机)相连,除了共地之外,就不能这样直接交叉连接了。尽管PC机和芯片都有TXD和RXD引脚,但是通常PC机(或上位机)通常