STM32G474xx HAL 用户手册
函数
初始化和反初始化函数
UARTEx 导出函数

扩展的初始化和配置函数。 更多...

函数

HAL_StatusTypeDef HAL_RS485Ex_Init (UART_HandleTypeDef *huart, uint32_t Polarity, uint32_t AssertionTime, uint32_t DeassertionTime)
 根据 UART_InitTypeDef 中指定的参数初始化 RS485 驱动器使能功能,并创建关联的句柄。

详细描述

扩展的初始化和配置函数。

===============================================================================
            ##### 初始化和配置函数 #####
 ===============================================================================
    [..]
    本小节提供一组函数,允许在异步模式下初始化 USARTx 或 UARTy。
      (+) 对于异步模式,可以配置以下参数:
        (++) 波特率
        (++) 字长
        (++) 停止位
        (++) 校验位:如果启用校验,则写入数据寄存器的数据的最高有效位会被传输,但会被校验位更改。
        (++) 硬件流控制
        (++) 接收器/发送器模式
        (++) 过采样方法
        (++) 单位采样方法
      (+) 对于异步模式,还可以配置以下高级功能:
        (++) TX 和/或 RX 引脚电平反转
        (++) 数据逻辑电平反转
        (++) RX 和 TX 引脚交换
        (++) 禁用 RX 溢出检测
        (++) 在 RX 错误时禁用 DMA
        (++) 通信线上 MSB 优先
        (++) 自动波特率检测
    [..]
    HAL_RS485Ex_Init() API 遵循 UART RS485 模式配置流程(流程详情可在参考手册中找到)。

根据 M1 和 M0 位定义的帧长度(7 位、8 位或 9 位),可能的 UART 格式列于下表。

表 1. UART 帧格式。 +-----------------------------------------------------------------------+ | M1 位 | M0 位 | PCE 位 | UART 帧 | |---------|---------|-----------|---------------------------------------| | 0 | 0 | 0 | | SB | 8 位数据 | STB | | |---------|---------|-----------|---------------------------------------| | 0 | 0 | 1 | | SB | 7 位数据 | PB | STB | | |---------|---------|-----------|---------------------------------------| | 0 | 1 | 0 | | SB | 9 位数据 | STB | | |---------|---------|-----------|---------------------------------------| | 0 | 1 | 1 | | SB | 8 位数据 | PB | STB | | |---------|---------|-----------|---------------------------------------| | 1 | 0 | 0 | | SB | 7 位数据 | STB | | |---------|---------|-----------|---------------------------------------| | 1 | 0 | 1 | | SB | 6 位数据 | PB | STB | | +-----------------------------------------------------------------------+


函数文档

HAL_StatusTypeDef HAL_RS485Ex_Init ( UART_HandleTypeDef huart,
uint32_t  Polarity,
uint32_t  AssertionTime,
uint32_t  DeassertionTime 
)

根据 UART_InitTypeDef 中指定的参数初始化 RS485 驱动器使能功能,并创建关联的句柄。

参数:
huartUART 句柄。
Polarity选择驱动器使能极性。此参数可以是以下值之一:
AssertionTime驱动器使能断言时间:一个 5 位值,定义 DE(驱动器使能)信号激活与起始位开始之间的时间。它以采样时间单位(1/8 或 1/16 位时间,取决于过采样率)表示
DeassertionTime驱动器使能去断言时间:一个 5 位值,定义传输消息中最后一个停止位结束与 DE(驱动器使能)信号去激活之间的时间。它以采样时间单位(1/8 或 1/16 位时间,取决于过采样率)表示。
返回值:
HAL状态

定义位于文件 stm32g4xx_hal_uart_ex.c 的第 166 行。

引用 __HAL_UART_DISABLE, __HAL_UART_ENABLE, __UART_HandleTypeDef::AdvancedInit, UART_AdvFeatureInitTypeDef::AdvFeatureInit, assert_param, __UART_HandleTypeDef::gState, HAL_UART_MspInit(), HAL_UART_STATE_BUSY, HAL_UART_STATE_RESET, __UART_HandleTypeDef::Instance, IS_UART_ASSERTIONTIME, IS_UART_DE_POLARITY, IS_UART_DEASSERTIONTIME, __UART_HandleTypeDef::Lock, __UART_HandleTypeDef::MspInitCallback, UART_ADVFEATURE_NO_INIT, UART_AdvFeatureConfig(), UART_CheckIdleState(), UART_CR1_DEAT_ADDRESS_LSB_POS, UART_CR1_DEDT_ADDRESS_LSB_POS, UART_InitCallbacksToDefault(), 和 UART_SetConfig()