南充住房和城乡建设厅网站,网站标题可以修改吗,微盟集团官网,手工加工免费供料在家UART #xff08;通用异步收发器#xff09;是在 USART #xff08;通用同步异步收发器#xff09;基础上裁剪掉了同步通信功能#xff0c;只剩下异步通信功能。关于通信和串口的基本知识#xff0c;可参见文章《串口通信简介-CSDN博客》和《数据通信的一些基础概念-CSDN…UART 通用异步收发器是在 USART 通用同步异步收发器基础上裁剪掉了同步通信功能只剩下异步通信功能。关于通信和串口的基本知识可参见文章《串口通信简介-CSDN博客》和《数据通信的一些基础概念-CSDN博客》。
本文重点介绍如何使用STM32的UART外设STM32 HAL库驱动。本文内容来自文档《UM1725 User Manual Description of STM32F4xx HAL drivers 》。
一、使用步骤
1、声明一个 UART_HandleTypeDef 句柄结构
2、初始化UART 底层资源通过执行 HAL_UART_MspInit() 函数 a、使能 USARTx 接口时钟 b、UART 引脚配置 ——使能 UART GPIO 时钟 ——配置这些 UART 引脚为复用功能 pull-up c、配置 NVIC如果需要使用中断程序的话使用 HAL_UART_Transmit_IT() 和 HAL_UART_Receive_IT()函数 ——配置 USARTx 的中断优先级 ——使能 NVIC USART IRQ handle d、配置 DMA如果需要使用 DMA 程序的话使用 HAL_UART_Transmit_DMA() 和 HAL_UART_Receive_DMA()函数 ——声明 DMA句柄结构为了 Tx/Rx 数据流 ——使能 DMA 接口时钟 ——配置已声明的 DMA句柄结构的需要的 Tx/Rx 参数 ——配置 DMA Tx/Rx 数据流 ——将 DMA handle 和 UART DMA Tx/Rx handle 联合 ——配置优先级并且使能 NVIC 为了传输完成中断在 DMA Tx/Rx 数据流中
3、在初始化结构体中编程波特率字符长度停止位校验位硬件控制流和收发模式
4、为了使用 UART 异步模式初始化 UART 寄存器通过调用 HAL_UART_Init()函数
5、为了使用半双工模式初始化 UART 寄存器通过调用 HAL_UART_Init()函数
6、为了使用 LIN局部互联网络模式初始化 UART 寄存器通过调用 HAL_LIN_Init() 函数
二、文档原文