通信方式

1. 并行通信

  • 数据的各个位同时传输

2. 串行通信

  • 数据按位顺序传输

数据传送方式:单工,半双工(不支持两个方向同时传输),全双工


串行通信

1. 同步通信

带有时钟信号的就是同步通信

  • SPI
  • I2C

2. 异步通信

必须双方约定波特率

  • UART
  • 单总线

常见的串行通信接口
通信标准 引脚说明 通信方式 通信方向
UART TXD:发送,RXD:接收,GND:公共地 异步 全双工
单总线 DQ:发送/接收 异步 半双工
SPI SCK:时钟,MISO:主机输入从机输出,MOSI:主机输出从机输入 同步 全双工
I2C SCL:同步时钟,SDA:数据输入或输出 同步 半双工

UART的特点
  • 全双工异步通信
  • 分数波特率发生器系统,提供精确波特率
  • 可编程数据字长度,8位或9位
  • 可配置的停止位
  • 可配置的使用DMA多缓冲器通信
  • 单独的发送器和接收器使能位
  • 检测标志:1,接收缓冲器,2,发送缓冲器空,3,传输结束标志
  • 多个带标志位的中断源,触发中断
  • 校验控制,4个错误标志位

UART数据帧
  • 起始位
  • 数据位
  • 奇偶校验位
  • 停止位
  • 波特率设置

STM32的串口_stm32


UART框图

 STM32的串口_其它_02

STM32的串口_缓冲器_03 

USART_SR状态寄存器

STM32的串口_数据_04

STM32的串口_其它_05USART_DR数据寄存器

STM32的串口_其它_06

USART_CR1控制寄存器

STM32的串口_缓冲器_07

 

 STM32的串口_数据_08

USART_BRR波特率寄存器

STM32的串口_stm32_09

 波特率计算

STM32的串口_数据_10

STM32的串口_其它_11