扩展外设控制函数。
更多...
函数 |
| 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()
函数说明