STM32开发入门之串口详解

发布网友

我来回答

1个回答

热心网友

一、通信接口

处理器与外部设备通信,主要通过两种方式:并行通信与串行通信。

并行通信中,数据各个位同时传输,优点在于速度快,但缺点是占用引脚资源多。

串行通信则是数据按位顺序传输。其优点是占用引脚资源少,缺点是传输速度相对较慢。

串行通信根据数据传输方向可分为单工、半双工与全双工。

单工通信只允许数据在一个方向上传输。

半双工通信允许数据在两个方向上传输,但在某一时刻,只允许数据在一个方向上传输,实际上是一种切换方向的单工通信。

全双工通信则允许数据同时在两个方向上传输,是两个单工通信方式的结合,要求发送设备和接收设备都有的接收和发送能力。

串行通信的传输方式有同步通信与异步通信。

同步通信带有时钟同步信号传输,如SPI、IIC通信接口。

异步通信不带时钟同步信号,如UART、单总线。

常见的串行通信接口有UART、USART等。

二、STM32的串口通信接口

STM32的串口通信接口包含UART与USART。

其中,USART专用于通用同步异步收发器,其容量范围从小容量产品到大容量产品,适用于不同类型的STM32F10xxx微控制器。

互联型产品为STM32F105xx和STM32F107xx微控制器,包含3个USART与2个UART(USART1/USART2/USART3/UART4/UART5)。

三、UART异步通信方式引脚连接方法

数据输入引脚RXD用于接收数据,数据发送引脚TXD用于发送数据。

连接串口时,可使用串口交叉线或串口直通线。

四、UART异步通信方式特点

异步通信为全双工通信,使用NRZ标准格式。

具有分数波特率发生器系统,可设置最高达4.5Mbits/s的波特率。

可编程数据字长度(8位或9位)、停止位(支持1或2个停止位)。

支持LIN通信,可配置LIN主发送同步断开符与LIN从检测断开符。

发送方提供时钟,支持IRDA SIR编码器解码器与智能卡模拟功能。

支持单线半双工通信与多缓冲器通信。

配置包括起始位、数据位、奇偶校验位、停止位与波特率设置。

五、串口通信过程

串口通信过程包括数据的发送与接收,涉及多个步骤与固件库函数。

六、STM32串口异步通信需要定义的参数

包括起始位、数据位、奇偶校验位、停止位与波特率设置。

七、串口配置

串口配置涉及多个步骤,包括使能串口时钟、复位、设置GPIO端口模式、初始化串口参数、开启中断与使能串口。

八、串口程序完整代码

完整代码示例可见相关资料。

九、串口其他需要了解的

还需关注串口相关寄存器配置,以及使用串口库函数进行操作。

十、串口操作相关库函数

包括获取状态标志位、接收与发送数据、串口配置等函数。

十一、初始化GPIO的工作模式

TX与RX的GPIO工作模式分别设置为复用推挽输出与浮空输入,确保正确传输数据。

十二、总结

STM32的串口通信部分至此完成。配置过程遵循固定套路,理解配置背后的原理有助于更深入地掌握。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com