STM32G474xx HAL用户手册
函数
外设控制函数
UARTEx导出函数

扩展外设控制函数。 更多...

函数

HAL_StatusTypeDef HAL_MultiProcessorEx_AddressLength_Set (UART_HandleTypeDef *huart, uint32_t AddressLength)
 在多处理器模式下,默认情况下,当唤醒方式设置为地址标记时,UART仅支持4位长地址检测;此API允许启用更长的地址检测(6位、7位或8位)。
HAL_StatusTypeDef HAL_UARTEx_StopModeWakeUpSourceConfig (UART_HandleTypeDef *huart, UART_WakeUpTypeDef WakeUpSelection)
 设置从停止模式唤醒的中断标志选择。
HAL_StatusTypeDef HAL_UARTEx_EnableStopMode (UART_HandleTypeDef *huart)
 启用UART停止模式。
HAL_StatusTypeDef HAL_UARTEx_DisableStopMode (UART_HandleTypeDef *huart)
 禁用UART停止模式。
HAL_StatusTypeDef HAL_UARTEx_EnableFifoMode (UART_HandleTypeDef *huart)
 启用FIFO模式。
HAL_StatusTypeDef HAL_UARTEx_DisableFifoMode (UART_HandleTypeDef *huart)
 禁用FIFO模式。
HAL_StatusTypeDef HAL_UARTEx_SetTxFifoThreshold (UART_HandleTypeDef *huart, uint32_t Threshold)
 设置TXFIFO阈值。
HAL_StatusTypeDef HAL_UARTEx_SetRxFifoThreshold (UART_HandleTypeDef *huart, uint32_t Threshold)
 设置RXFIFO阈值。
HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint16_t *RxLen, uint32_t Timeout)
 在阻塞模式下接收一定数量的数据,直到接收到预期数量的数据或发生IDLE事件。
HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_IT (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
 在中断模式下接收一定数量的数据,直到接收到预期数量的数据或发生IDLE事件。
HAL_StatusTypeDef HAL_UARTEx_ReceiveToIdle_DMA (UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
 在DMA模式下接收一定数量的数据,直到接收到预期数量的数据或发生IDLE事件。
HAL_UART_RxEventTypeTypeDef HAL_UARTEx_GetRxEventType (const UART_HandleTypeDef *huart)
 提供导致RxEvent回调执行的Rx事件类型。

详细说明

扩展外设控制函数。

 ===============================================================================
                      ##### 外设控制函数 #####
 ===============================================================================
    [..] 本节提供以下函数:
     (+) HAL_MultiProcessorEx_AddressLength_Set() API可选择将UART节点地址检测长度设置为超过4位,用于多处理器地址标记唤醒。
     (+) HAL_UARTEx_StopModeWakeUpSourceConfig() API定义从停止模式唤醒的触发条件:地址匹配、起始位检测或RXNE位状态。
     (+) HAL_UARTEx_EnableStopMode() API使UART能够从停止模式唤醒MCU
     (+) HAL_UARTEx_DisableStopMode() API禁用上述功能
     (+) HAL_UARTEx_EnableFifoMode() API启用FIFO模式
     (+) HAL_UARTEx_DisableFifoMode() API禁用FIFO模式
     (+) HAL_UARTEx_SetTxFifoThreshold() API设置TX FIFO阈值
     (+) HAL_UARTEx_SetRxFifoThreshold() API设置RX FIFO阈值

    [..] 本小节还提供了一组额外的增强接收功能函数。(例如,这些函数允许应用程序处理接收数据数量未知的情况)。

    (#) 与仅将接收到的数据元素数量作为接收完成条件的标准接收服务相比,这些函数还将其他事件作为更新接收状态给调用方的触发条件:
       (++) 检测空闲期(RX线路在给定时间内未活动)。
          (+++) 通过IDLE事件检测到RX空闲,即RX线路在接收到最后一个字节后处于空闲状态(通常为高电平)持续1帧时间。
          (+++) 通过RTO检测到RX空闲,即线路在接收到最后一个字节后处于空闲状态持续可编程时间。
       (++) 检测到已接收到特定字符。

    (#) 有两种传输模式:
       (++) 阻塞模式:接收以轮询模式执行,直到接收到预期数量的数据或发生IDLE事件。接收仅在函数执行期间处理。
           函数退出后,不会发生数据接收。HAL状态和实际接收到的数据元素数量在传输完成后由函数返回。
       (++) 非阻塞模式:接收使用中断或DMA执行。
           这些API返回HAL状态。
           数据处理结束将通过使用中断模式时的专用UART IRQ或使用DMA模式时的DMA IRQ来指示。
           HAL_UARTEx_RxEventCallback()用户回调将在接收过程中执行
           HAL_UART_ErrorCallback()用户回调将在检测到接收错误时执行。

    (#) 阻塞模式API:
        (++) HAL_UARTEx_ReceiveToIdle()

    (#) 非阻塞模式API(中断模式):
        (++) HAL_UARTEx_ReceiveToIdle_IT()

    (#) 非阻塞模式API(DMA模式):
        (++) HAL_UARTEx_ReceiveToIdle_DMA()


函数说明

HAL_StatusTypeDef HAL_MultiProcessorEx_AddressLength_Set ( UART_HandleTypeDef huart,
uint32_t  AddressLength 
)

在多处理器模式下,默认情况下,当唤醒方式设置为地址标记时,UART仅支持4位长地址检测;此API允许启用更长的地址检测(6位、7位或8位)。

注意:
地址检测长度包括:7位数据模式下的6位地址检测,8位数据模式下的7位地址检测,9位数据模式下的8位地址检测。
参数:
huartUART句柄。
AddressLength此参数可以是以下值之一:
返回值:
HAL状态

定义于文件 stm32g4xx_hal_uart_ex.c387 行。

引用了 __HAL_UART_DISABLE, __HAL_UART_ENABLE, assert_param, __UART_HandleTypeDef::gState, HAL_UART_STATE_BUSY, __UART_HandleTypeDef::Instance, IS_UART_ADDRESSLENGTH_DETECT, 和 UART_CheckIdleState()

HAL_StatusTypeDef HAL_UARTEx_DisableFifoMode ( UART_HandleTypeDef huart)
HAL_StatusTypeDef HAL_UARTEx_DisableStopMode ( UART_HandleTypeDef huart)

禁用UART停止模式。

参数:
huartUART句柄。
返回值:
HAL状态

定义于文件 stm32g4xx_hal_uart_ex.c499 行。

引用了 __UART_HandleTypeDef::Instance

HAL_StatusTypeDef HAL_UARTEx_EnableFifoMode ( UART_HandleTypeDef huart)
HAL_StatusTypeDef HAL_UARTEx_EnableStopMode ( UART_HandleTypeDef huart)

启用UART停止模式。

注意:
只要UART时钟为HSI或LSE,UART就能从停止1模式唤醒MCU。
参数:
huartUART句柄。
返回值:
HAL状态

定义于文件 stm32g4xx_hal_uart_ex.c480 行。

引用了 __UART_HandleTypeDef::Instance