15.1、串行通信接口背景知识
15.2、STM32F1串口框图讲解
参考资料:《STM32开发指南--库函数》5.3,usart串口文件夹/第九章,串口实验
1、串行通信接口背景知识
首先,处理器与外部通信有两种常见方式:并行通信和串行通信:
(1)并行通信:原理是数据各个位同时传输,优点是传输速度快,缺点是占用引脚资源多。
(2)串行通信:原理是数据各个位按顺序传输,优点是占用引脚资源少,缺点是速度慢。
其次,在串行通信的基础上,传输又分为:单工,半双工和全双工:
(1)单工:只支持数据在一个方向上的传输;
(2)半双工:允许数据在两个方向上的传输,但在某一个时刻,只允许数据在一个方向上的传输,实际是一种切换方向的单工通信;
(3)全双工:允许数据同时在两个方向上传输,因此,全双工通信要求通信两端都有接收和发送数据的能力;
再次,串行通信还可以分为同步通信和异步通信,
(1)同步通信指的是,带同步时钟信号的通信方式,数据的传输以时钟上升沿或者下降沿来触发的。例如SPI通信、IIC通信等
(2)异步通信指的是,不带有时钟信号的通信方式,在异步通信中要求通信双方事先约定好波特率,也就是通信的速度,例如UART(通用异步收发器)、单总线等
2、STM32F1串口通信框图讲解
2.1、STM32的串口通信接口
UART:通用异步收发器
USART:通用同步异步收发器
以STM32F103ZET6为例,共有3个USART和2个UART
2.2、UART异步通信方式引脚连接示意图
上图中,RxD:数据输入引脚,用于接收数据;TxD:数据输出引脚,用于发送数据。
下图为STM32F1系列五个串口对应的输入,输出引脚:
2.3、STM32串口异步通信需要定义的参数
PS:奇偶校验位:所谓奇偶校验位,分别是奇校验和偶校验,如果是奇校验,就是在传输的数据最后一位补1或0,使得传输的数据共有奇数个1,偶校验的思想同理可得。
2.4、对USART框图的讲解
CPU接收数据时的路径:
CPU发送数据时的路径:
需要注意的是,如果是异步通信方式,那么无论是发送还是接收数据,都需要约定好波特率,那么波特率是怎么产生的呢,波特率的产生如下图:
发送器时钟和接收器时钟产生了发送端和接收端的波特率,这两个时钟都来源于最下方的波特率发生器。
版权声明:本文为CSDN博主「小石头石头小小」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45271734/article/details/122665297
暂无评论