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

宏定义

#define SPI_1LINE_TX(__HANDLE__)   SET_BIT((__HANDLE__)->Instance->CR1, SPI_CR1_BIDIOE)
 设置SPI仅发送模式。
#define SPI_1LINE_RX(__HANDLE__)   CLEAR_BIT((__HANDLE__)->Instance->CR1, SPI_CR1_BIDIOE)
 设置SPI仅接收模式。
#define SPI_RESET_CRC(__HANDLE__)
 重置SPI的CRC计算。
#define SPI_CHECK_FLAG(__SR__, __FLAG__)
 检查指定的SPI标志是否已置位。
#define SPI_CHECK_IT_SOURCE(__CR2__, __INTERRUPT__)
 检查指定的SPI中断源是否已置位。
#define IS_SPI_MODE(__MODE__)
 检查SPI模式参数是否在允许范围内。
#define IS_SPI_DIRECTION(__MODE__)
 检查SPI方向模式参数是否在允许范围内。
#define IS_SPI_DIRECTION_2LINES(__MODE__)   ((__MODE__) == SPI_DIRECTION_2LINES)
 检查SPI方向模式参数是否为2线。
#define IS_SPI_DIRECTION_2LINES_OR_1LINE(__MODE__)
 检查SPI方向模式参数是否为1线或2线。
#define IS_SPI_DATASIZE(__DATASIZE__)
 检查SPI数据大小参数是否在允许范围内。
#define IS_SPI_CPOL(__CPOL__)
 检查SPI串行时钟稳态参数是否在允许范围内。
#define IS_SPI_CPHA(__CPHA__)
 检查SPI时钟相位参数是否在允许范围内。
#define IS_SPI_NSS(__NSS__)
 检查SPI从设备选择参数是否在允许范围内。
#define IS_SPI_NSSP(__NSSP__)
 检查SPI NSS脉冲参数是否在允许范围内。
#define IS_SPI_BAUDRATE_PRESCALER(__PRESCALER__)
 检查SPI波特率预分频器参数是否在允许范围内。
#define IS_SPI_FIRST_BIT(__BIT__)
 检查SPI MSB/LSB传输参数是否在允许范围内。
#define IS_SPI_TIMODE(__MODE__)
 检查SPI TI模式参数是否在允许范围内。
#define IS_SPI_CRC_CALCULATION(__CALCULATION__)
 检查SPI CRC计算使能状态是否在允许范围内。
#define IS_SPI_CRC_LENGTH(__LENGTH__)
 检查SPI CRC长度是否在允许范围内。
#define IS_SPI_CRC_POLYNOMIAL(__POLYNOMIAL__)
 检查用于CRC计算的SPI多项式值是否在允许范围内。
#define IS_SPI_DMA_HANDLE(__HANDLE__)   ((__HANDLE__) != NULL)
 检查DMA句柄是否有效。

宏定义文档

#define IS_SPI_BAUDRATE_PRESCALER (   __PRESCALER__)
值:
(((__PRESCALER__) == SPI_BAUDRATEPRESCALER_2)   || \
                                                  ((__PRESCALER__) == SPI_BAUDRATEPRESCALER_4)   || \
                                                  ((__PRESCALER__) == SPI_BAUDRATEPRESCALER_8)   || \
                                                  ((__PRESCALER__) == SPI_BAUDRATEPRESCALER_16)  || \
                                                  ((__PRESCALER__) == SPI_BAUDRATEPRESCALER_32)  || \
                                                  ((__PRESCALER__) == SPI_BAUDRATEPRESCALER_64)  || \
                                                  ((__PRESCALER__) == SPI_BAUDRATEPRESCALER_128) || \
                                                  ((__PRESCALER__) == SPI_BAUDRATEPRESCALER_256))

检查SPI波特率预分频器参数是否在允许范围内。

参数:
__PRESCALER__指定SPI波特率预分频器。此参数可以是 SPI 波特率预分频器 的值
返回值:

定义于文件 stm32g4xx_hal_spi.h704 行。

HAL_SPI_Init() 引用。

#define IS_SPI_CPHA (   __CPHA__)
值:
(((__CPHA__) == SPI_PHASE_1EDGE) || \
                                    ((__CPHA__) == SPI_PHASE_2EDGE))

检查SPI时钟相位参数是否在允许范围内。

参数:
__CPHA__指定SPI时钟相位。此参数可以是 SPI 时钟相位 的值
返回值:

定义于文件 stm32g4xx_hal_spi.h679 行。

HAL_SPI_Init() 引用。

#define IS_SPI_CPOL (   __CPOL__)
值:
(((__CPOL__) == SPI_POLARITY_LOW) || \
                                    ((__CPOL__) == SPI_POLARITY_HIGH))

检查SPI串行时钟稳态参数是否在允许范围内。

参数:
__CPOL__指定SPI串行时钟稳态。此参数可以是 SPI 时钟极性 的值
返回值:

定义于文件 stm32g4xx_hal_spi.h671 行。

HAL_SPI_Init() 引用。

#define IS_SPI_CRC_CALCULATION (   __CALCULATION__)
值:
(((__CALCULATION__) == SPI_CRCCALCULATION_DISABLE) || \
                                                 ((__CALCULATION__) == SPI_CRCCALCULATION_ENABLE))

检查SPI CRC计算使能状态是否在允许范围内。

参数:
__CALCULATION__指定SPI CRC计算使能状态。此参数可以是 SPI CRC 计算 的值
返回值: