说明:
这里主要是异步方式串口。
==============================================================================
##### 如何使用此驱动 #####
==============================================================================
1、定义UART_HandleTypeDef类型串口结构体变量,比如UART_HandleTypeDef huart
2、使用函数HAL_UART_MspInit初始化串口底层。
(1)使能串口时钟
(2)引脚配置
a、使能串口所使用的GPIO时钟
b、配置GPIO的复用模式
(3)如果使用中断方式函数HAL_UART_Transmit_IT和HAL_UART_Receive_IT需要做如下配置
a、配置串口中断优先级
b、使能串口中断。
(4)串口中断的开关是通过函数__HAL_UART_ENABLE_IT() 和 __HAL_UART_DISABLE_IT()来实现,这两个函数被嵌套到串口的发送和接收函数中调用。
(5)如果使用中断方式函数HAL_UART_Transmit_DMA和HAL_UART_Receive_DMA需要做如下配置
a、声明串口的发送和接收DMA结构体变量,注意发送和接收是独立的两个,如果都是用,那就都需要配置。
b、使能DMA接口时钟
c、配置串口的发送和接收DMA结构体变量
d、配置DMA发送和接收通道
e、关键DMA和串口的句柄
f、配置发送DMA和接收DMA的传输完成中断和中断优先级。
3、配置串口结构体变量xxx的波特率,位长,停止位,奇偶校验位,流控制和发送接收模式
4、如果需要,可以编程高级特性,比如TX/RX交换引脚,自动波特率检测。在串口结构体变量xxx的结构体成员AdvancedInit来设置。
5、串口初始化调用的函数HAL_UART_Init初始化
6、串口半双工初始化调用的函数HAL_HalfDuplex_Init初始化后
7、串口LIN模式调用函数HAL_LIN_Init初始化
8、多处理器模式调用函数HAL_MultiProcessor_Init初始化
9、485驱动模式,调用函数HAL_RS485Ex_Init初始化
这几个函数都会调用HAL_UART_MspInit做底层的GPIO,时钟等初始化。
1、初始化函数
HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart);
HAL_StatusTypeDef HAL_HalfDuplex_Init(UART_HandleTypeDef *huart);
HAL_StatusTypeDef HAL_LIN_Init(UART_HandleTypeDef *huart, uint32_t BreakDetectLength);
HAL_StatusTypeDef HAL_MultiProcessor_Init(UART_HandleTypeDef *huart, uint8_t Address, uint32_t WakeUpMethod);
HAL_StatusTypeDef HAL_UART_DeInit (UART_HandleTypeDef *huart);
void HAL_UART_MspInit(UART_HandleTypeDef *huart);
void HAL_UART_MspDeInit(UART_HandleTypeDef *huart);
其中函数
HAL_UART_Init和HAL_UART_Init是较常用的。
初始化的基础特性:
(++) Baud Rate
(++) Word Length
(++) Stop Bit
(++) Parity
(++) Hardware flow control
(++) Receiver/transmitter modes
(++) Over Sampling Method
(++) One-Bit Sampling Method
初始化的高级特性:
(++) TX and/or RX pin level inversion
(++) data logical level inversion
(++) RX and TX pins swap
(++) RX overrun detection disabling
(++) DMA disabling on RX error
(++) MSB first on communication line
(++) auto Baud rate detection
支持的位格式:
QQ截图20181113230143.png (12.87 KB, 下载次数: 0)
下载附件
2018-11-13 23:01 上传 |