STM32G474xx HAL用户手册
宏定义
USART私有宏
USART

宏定义

#define USART_GET_DIV_FACTOR(__CLOCKPRESCALER__)
 从时钟预分频器值获取USART时钟分频系数。
#define USART_DIV_SAMPLING8(__PCLK__, __BAUD__, __CLOCKPRESCALER__)
 BRR除法运算,用于在8位过采样模式下设置BRR寄存器。
#define USART_GETCLOCKSOURCE(__HANDLE__, __CLOCKSOURCE__)
 报告USART时钟源。
#define IS_USART_BAUDRATE(__BAUDRATE__)   ((__BAUDRATE__) <= 18750000U)
 检查USART波特率。
#define IS_USART_STOPBITS(__STOPBITS__)
 确保USART帧的停止位数量有效。
#define IS_USART_PARITY(__PARITY__)
 确保USART帧的奇偶校验有效。
#define IS_USART_MODE(__MODE__)   ((((__MODE__) & 0xFFFFFFF3U) == 0x00U) && ((__MODE__) != 0x00U))
 确保USART通信模式有效。
#define IS_USART_CLOCK(__CLOCK__)
 确保USART时钟状态有效。
#define IS_USART_POLARITY(__CPOL__)   (((__CPOL__) == USART_POLARITY_LOW) || ((__CPOL__) == USART_POLARITY_HIGH))
 确保USART帧极性有效。
#define IS_USART_PHASE(__CPHA__)   (((__CPHA__) == USART_PHASE_1EDGE) || ((__CPHA__) == USART_PHASE_2EDGE))
 确保USART帧相位有效。
#define IS_USART_LASTBIT(__LASTBIT__)
 确保USART帧最后一位时钟脉冲设置有效。
#define IS_USART_REQUEST_PARAMETER(__PARAM__)
 确保USART请求参数有效。
#define IS_USART_PRESCALER(__CLOCKPRESCALER__)
 确保USART预分频器有效。

宏定义文档

#define IS_USART_BAUDRATE (   __BAUDRATE__)    ((__BAUDRATE__) <= 18750000U)

检查USART波特率。

参数:
__BAUDRATE__用户指定的波特率。最大波特率由G4上的最大时钟(即150 MHz)除以USART使用的最小过采样(即8)得出
返回值:
SET(__BAUDRATE__有效)或 RESET(__BAUDRATE__无效)

定义于文件 stm32g4xx_hal_usart.h852 行。

USART_SetConfig() 引用。

#define IS_USART_CLOCK (   __CLOCK__)
值:
(((__CLOCK__) == USART_CLOCK_DISABLE) || \
                                   ((__CLOCK__) == USART_CLOCK_ENABLE))

确保USART时钟状态有效。

参数:
__CLOCK__USART时钟状态。
返回值:
SET(__CLOCK__有效)或 RESET(__CLOCK__无效)

定义于文件 stm32g4xx_hal_usart.h885 行。

#define IS_USART_LASTBIT (   __LASTBIT__)
值:
(((__LASTBIT__) == USART_LASTBIT_DISABLE) || \
                                       ((__LASTBIT__) == USART_LASTBIT_ENABLE))

确保USART帧最后一位时钟脉冲设置有效。

参数:
__LASTBIT__USART帧最后一位时钟脉冲设置。
返回值:
SET(__LASTBIT__有效)或 RESET(__LASTBIT__无效)

定义于文件 stm32g4xx_hal_usart.h907 行。

USART_SetConfig() 引用。

#define IS_USART_MODE (   __MODE__)    ((((__MODE__) & 0xFFFFFFF3U) == 0x00U) && ((__MODE__) != 0x00U))

确保USART通信模式有效。

参数:
__MODE__USART通信模式。
返回值:
SET(__MODE__有效)或 RESET(__MODE__无效)

定义于文件 stm32g4xx_hal_usart.h878 行。

USART_SetConfig() 引用。

#define IS_USART_PARITY (   __PARITY__)
值:
(((__PARITY__) == USART_PARITY_NONE) || \
                                     ((__PARITY__) == USART_PARITY_EVEN) || \
                                     ((__PARITY__) == USART_PARITY_ODD))

确保USART帧的奇偶校验有效。

参数:
__PARITY__USART帧奇偶校验。
返回值:
SET(__PARITY__有效)或 RESET(__PARITY__无效)

定义于文件 stm32g4xx_hal_usart.h869 行。

USART_SetConfig() 引用。

#define IS_USART_PHASE (   __CPHA__)    (((__CPHA__) == USART_PHASE_1EDGE) || ((__CPHA__) == USART_PHASE_2EDGE))

确保USART帧相位有效。

参数:
__CPHA__USART帧相位。
返回值:
SET(__CPHA__有效)或 RESET(__CPHA__无效)

定义于文件 stm32g4xx_hal_usart.h900 行。

USART_SetConfig() 引用。

#define IS_USART_POLARITY (   __CPOL__)    (((__CPOL__) == USART_POLARITY_LOW) || ((__CPOL__) == USART_POLARITY_HIGH))

确保USART帧极性有效。

参数:
__CPOL__USART帧极性。
返回值:
SET(__CPOL__有效)或 RESET(__CPOL__无效)

定义于文件 stm32g4xx_hal_usart.h893 行。

USART_SetConfig() 引用。

#define IS_USART_PRESCALER (   __CLOCKPRESCALER__)
值:
(((__CLOCKPRESCALER__) == USART_PRESCALER_DIV1) || \
                                                ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV2) || \
                                                ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV4) || \
                                                ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV6) || \
                                                ((__CLOCKPRESCALER__) == USART_PRESCALER_DIV8) || \
                                                ((__CLOCKPRESCALER__) ==