一,STM32的USART简介
USART即通用同步、异步收发器,它能够灵活地与外部设备进行全双工数据交换,满足外部设备对工业标准 NRZ 异步串行数据格式的要求。
UART即通用异步收发器,它是在USART基础上裁剪掉了同步通信功能。
开发板上使用的STM32F103ZET6芯片含有3个USART,2个UART外设。它们都具有串口通信功能。
USART支持同步单向通信和半双工单线通信;还支持 LIN(域互连网络)、智能卡协议与 IrDA(红外线数据协会) SIR ENDEC 规范,以及调制解调器操作 (CTS/RTS)。
而且,它还支持多处理器通信和DMA功能,使用 DMA 可实现高速数据通信。
USART 通过小数波特率发生器提供了多种波特率。
USART在STM32中应用最多的是printf输出调试信息,当我们需要了解程序内的一些变量数据信息时,可以通过printf输出函数将这些信息打印到串口助手上显示,这样一来就给我们调试程序带来了极大的方便。
二,STM32的USART的内部功能框图
图上1号区的引脚,TX,RX,SCLK、nRTS,nCTS等外部引脚,其余的是芯片内部的功能引脚,很少使用。
2号区中,如需要向外发送数据,就向发送数据寄存器TDR中写入数据。如需接收收据,就读接收数据寄存器RDR。