STM32 HAL库之串口详细篇

一、基础认识 (一) 并行通信

原理:数据的各个位同时传输

优点:速度快

缺点:占用引脚资源多,通常工作时有多条数据线进行数据传输

8bit数据传输典型连接图:

传输的数据是二进制:11101010,则通信使用8条线同时进行数据传输,发送端一次性发送8位数据,接收端一次性接收8位数据。

STM32 HAL库之串口详细篇

(二) 串行通信

原理:数据按位顺序传输

优点:占用引脚资源少

缺点:速度相对较慢,通常工作时只有一条数据线进行数据传输

8bit数据传输典型连接图:

传输的数据是二进制:11101010,则通信使用8条线同时进行数据传输,发送端一次性发送8位数据,接收端一次性接收8位数据。

8bit数据传输典型连接图:

传输的数据是二进制:11101010,则通信使用1条线进行数据传输,发送端一次性发送1位数据,接收端一次性接收1位数据。

STM32 HAL库之串口详细篇

串行通信的分类:

1.单工:数据只能在一个方向上传输,通信双方数据只能由一方传输到另一方

STM32 HAL库之串口详细篇

2.半双工:数据可以错时双向传输,通信双方数据可以支持两个方向传输,但是同一时间只能由一方传输到另外一方。

STM32 HAL库之串口详细篇

3.全双工:数据可以同时双向传输,通信双方数据可以同时进行双向传输,对于其中一个设备来说,设备需要支持发送数据时可以进行数据接收。

STM32 HAL库之串口详细篇

串行通信的通讯方式:

l  同步通信:带时钟同步信号的传输,如SPI、IIC、USART(同步)

l  异步通信:不带时钟同步信号的传输,如UART、USART(异步)

常见数据传输协议:

STM32 HAL库之串口详细篇

(三)   UART和USART

UART:通用异步收发器

USART:通用同步/异步收发器,其可选使用异步方式,那将和UART无区别,如果是同步,则需要多一根时钟线(USART_CK)

STM32 HAL库之串口详细篇

(四)  STM32的USART注意:

l  通常USART1接口的通信速率较快,其它USART接口较慢。如STM32F103C8T6的USART1接口通信速率是4.5Mbps,其它USART接口的通信速率是2.25Mbps。

l  片上所有的USART接口都可以使用DMA操作

l  USART的扩展及距离:

STM32 HAL库之串口详细篇

UART和COM是物理接口形式(物理接口)

TTL和RS-232是电平标准(电信号)

串口接收:

l  扫描模式

l  中断模式

l  DMA模式

二、串口基础配置

STM32 HAL库之串口详细篇

模式选择:

Asynchronous  异步通信

Synchronous  同步通信

Single Wire (Half-Duplex) 单线/半双工

Multiprocessor Communication 多处理器

支持局域互连网络LIN、智能卡(SmartCard)协议与lrDA(红外线数据协会) SIR ENDEC规范。

STM32 HAL库之串口详细篇

默认的TX GPIO:

l  模式为:推挽式复用功能

l  输出速率:高速

 

默认的RX GPIO:

l  模式为:浮空输入

参数设置

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpddps.html