文章内容偏向HAL库的移植和使用,以个人观点及了解为主,若与事实不符,则以www.st.com、www.stmcu.org.cn等平台为准。
历程代码:https://gitee.com/cai_xl/MyWayToLearnSTM32H7
想必串口在单片机中的地位不必多说,大家都明白。
STM32H743ZIT6单片机一共有9个串口,分别为4个通用同步异步收发器(USART)、4个通用异步收发器,1个低功耗通用异步收发器(LPUART)。STM43H743ZIT6的一部分外设资源
USART既可以同步收发,又可以异步收发。而UART只能异步收发。所以暂且可以认为USART是UART的升级版,LPUART为了降低功耗,在UART的基础上还要再阉割一部分。
一个USART共有7个信号,最多可以使用5个IO口,即Tx、Rx、CTS(Clear to Send)、RTS(Request to Send)、CLK(同步时钟信号),此外还有一个片选信号NSS(N表示低电平,SS表示Slave Select),这个信号与CTS共用一个GPIO、一个驱动使能引脚DE(Driver Enable),这个信号和RTS共用一个GPIO。
其中Tx、Rx为共享信号,分别为数据的发送、接收引脚,所有模式、配置下均可使用。
CTS、RTS为RS232硬件控制信号。
DE为RS485硬件控制信号。
NSS、CLK为同步模式硬件控制信号(主从机和智能卡模式)。
这部分内容在参考手册47.5.2小节。