__HAL_DMA_CLEAR_FLAG: 清除 DMA 通道挂起标志。
__HAL_DMA_ENABLE_IT: 启用指定的 DMA 通道中断。
__HAL_DMA_DISABLE_IT: 禁用指定的 DMA 通道中断。
__HAL_DMA_GET_IT_SOURCE: 检查指定的 DMA 通道中断是否发生。
How To Use USART/UART
一、如何使用 USART
1.定义一个句柄结构体 UART_HandleTypeDef
2.通过实现 HAL_UART_MspInit()来初始化 UART 低水平资源(与外设相关)
① 使能串口借口时钟
② 串口 PIN 脚配置
③NVIC 配置( HAL_UART_Transmit_IT() 和 HAL_UART_Receive_IT() )
串口优先级
串口中断处理函数
④DMA 配置(HAL_UART_Transmit_DMA() 和 HAL_UART_Receive_DMA() )
3. 配置波特率,字长等
4. 对于 UART 异步模式,通过调用 HAL_UART_Init() 来初始化 UART 注册器。
5. 对于 UART 半双工模式,通过调用 hal_half duunk _init()API 来初始化 UART 注册器。
6. 对于 LIN 模式,通过调用 HAL_LIN_Init()API 来初始化 UART 注册器。
7. 对于多处理器模式,通过调用 HAL_MulProcessor_Init()API 来初始化 UART 注册器。
8. 对于特定的串口中断(Transmission complete interrupt, RXNE interrupt and Error Interrupts)
将使用宏__HAL_UART_ENABLE_IT()和__HAL_UART_DISABLE_IT()在传输和接收过程中管理。
9. 这些 API(HAL_UART_Init()和 HAL_HalfDuplex_Init())通过调用定制的 HAL_UART_MspInit()来
配置低级别的硬件 GPIO、时钟、等。
二、USART 轮询模式 IO 操作:
1. 在阻塞模式下,使用 HAL_UART_Transmit()发送了一组数据
2. 在阻塞模式下,使用 HAL_UART_Receive()接收一组数据
三、USART 中断模式:
在非阻塞模式下:
1. 使用 HAL_UART_Transmit_IT()发送一组数据
评论0
最新资源