第3章STM32F407VG-USART
3.1 标准UART协议介绍
3.1.1 UART通信过程分析
UART通信方式:异步串行全双工通信方式
异步通信:有通信速度要求。
UART通信速度由两个设备自己决定。
UART通信有一个数据格式。
3.1.1 UART通信概念补充
- 同步/异步
同步通信:具备时钟线,数据的发送和接收依赖时钟信号。
异步通信:不具备时钟线,发送者直接可以发数据,接收者可以收数据也可以不收数据;如果发送方在发送数据的时候,接收方没有去接收数据,数据会丢失。由于没有时钟线,发送方有自己的一个发送数据的频率,接收方有一个接收数据的频率,必须要做到发送方的频率与接收方的频率一致。由于发送方与接收方的频率并不稳定,发送数据和接收数据的时候需要按照一定格式传输。
- 串行/并行
串行:通信数据线只有一条,过独木桥。
并行:通信数据线N条,高速公路。
- 单工、半双工、全双工
单工:通信过程中,只能是设备A发送给设备B或者设备B发送给设备A。
半双工:通信过程中,某一个时刻设备A发送给设备B数据,下一个时刻可以是设备B发送给设备A数据。
全双工:通信过程中,同一时刻设备A可以发送数据给设备B,设备B也可以发送数据给设备A。
- 板级总线/现场总线
板级总线:画在PCB上的总线;例如:I2C总线,UART,SPI总线等
现场总线:随时可以换的线;例如:网线、CAN总线、485总线(MODBUS协议)、232总线等
- CMOS电平、TTL电平、RS232电平
CMOS电平:逻辑1(高电平):3.3V;逻辑0 (低电平):0V—GND
TTL电平:逻辑1(高电平):5V;逻辑0 (低电平):0V—GND
RS232电平:逻辑1(电平范围):-15V~-3V;逻辑0(电平范围):3V~15V
差分信号:数据传输的逻辑0/1依赖两条数据线上的电压差进行区分。远距离传输数据稳定。
3.1.1 UART通信数据格式
3.1.1 UART通信四要素
UART通信四要素:波特率、数据位长度、校验位、停止位。
3.1 STM32F407VG的USART介绍
当前芯片有6个USART片上外设。USART1/6连接在APB2总线上;USART2/3/4/5连接在APB1总线上。
USART满足全双工通信,满足的是NRZ编码格式(非归零码);具备小数波特率发生器。支持同步半双工通信,LIN模式、IrDA(红外数据通信,具备一种通信格式),支持CTS/RTS(硬件流控)。
想要USART正常工作,操作步骤如下:
- 配置波特率(根据两个公式进行计算)
- 配置控制寄存器1(根据框架图中的寄存器位进行配置)
- 配置控制寄存器2(根据框架图中的寄存器位进行配置)
- 将数据写入到发送数据寄存器中
- 从接收数据寄存器中读取数据