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

宏定义

#define IRDA_DIV_SAMPLING16(__PCLK__, __BAUD__, __PRESCALER__)
 BRR除法运算,用于在16位过采样模式下设置BRR寄存器。
#define IS_IRDA_BAUDRATE(__BAUDRATE__)   ((__BAUDRATE__) < 115201U)
 确保IRDA波特率小于或等于最大值。
#define IS_IRDA_PRESCALER(__PRESCALER__)   ((__PRESCALER__) > 0U)
 确保IRDA预分频器值严格大于0。
#define IS_IRDA_PARITY(__PARITY__)
 确保IRDA帧校验有效。
#define IS_IRDA_TX_RX_MODE(__MODE__)
 确保IRDA通信模式有效。
#define IS_IRDA_POWERMODE(__MODE__)
 确保IRDA电源模式有效。
#define IS_IRDA_CLOCKPRESCALER(__CLOCKPRESCALER__)
 确保IRDA时钟预分频器有效。
#define IS_IRDA_STATE(__STATE__)
 确保IRDA状态有效。
#define IS_IRDA_MODE(__MODE__)
 确保关联的IRDA UART/USART模式有效。
#define IS_IRDA_ONE_BIT_SAMPLE(__ONEBIT__)
 确保IRDA采样率有效。
#define IS_IRDA_DMA_TX(__DMATX__)
 确保IRDA DMA发送模式有效。
#define IS_IRDA_DMA_RX(__DMARX__)
 确保IRDA DMA接收模式有效。
#define IS_IRDA_REQUEST_PARAMETER(__PARAM__)
 确保IRDA请求有效。

宏定义文档

#define IRDA_DIV_SAMPLING16 (   __PCLK__,
  __BAUD__,
  __PRESCALER__ 
)
值:
((((__PCLK__)/IRDAPrescTable[(__PRESCALER__)])\
                                                                  + ((__BAUD__)/2U)) / (__BAUD__))

BRR除法运算,用于在16位过采样模式下设置BRR寄存器。

参数:
__PCLK__IRDA时钟源。
__BAUD__用户设置的波特率。
__PRESCALER__IRDA时钟预分频器值。
返回值:
除法结果

定义于文件stm32g4xx_hal_irda.c229行。

IRDA_SetConfig()引用。

#define IS_IRDA_BAUDRATE (   __BAUDRATE__)    ((__BAUDRATE__) < 115201U)

确保IRDA波特率小于或等于最大值。

参数:
__BAUDRATE__指定用户设置的IRDA波特率。
返回值:
真或假

定义于文件stm32g4xx_hal_irda.h703行。

IRDA_SetConfig()引用。

#define IS_IRDA_CLOCKPRESCALER (   __CLOCKPRESCALER__)
值:
(((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV1) || \
                                                    ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV2)   || \
                                                    ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV4)   || \
                                                    ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV6)   || \
                                                    ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV8)   || \
                                                    ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV10)  || \
                                                    ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV12)  || \
                                                    ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV16)  || \
                                                    ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV32)  || \
                                                    ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV64)  || \
                                                    ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV128) || \
                                                    ((__CLOCKPRESCALER__) == IRDA_PRESCALER_DIV256))

确保IRDA时钟预分频器有效。

参数:
__CLOCKPRESCALER__IRDA时钟预分频器值。
返回值:
SET(__CLOCKPRESCALER__有效)或RESET(__CLOCKPRESCALER__无效)

定义于文件stm32g4xx_hal_irda.h737行。

IRDA_SetConfig()引用。

#define IS_IRDA_DMA_RX (   __DMARX__)
值:
(((__DMARX__) == IRDA_DMA_RX_DISABLE) || \
                                   ((__DMARX__) == IRDA_DMA_RX_ENABLE))

确保IRDA DMA接收模式有效。

参数:
__DMARX__IRDA DMA接收模式。
返回值:
SET(__DMARX__有效)或RESET(__DMARX__无效)

定义于文件stm32g4xx_hal_irda.h782行。

#define IS_IRDA_DMA_TX (   __DMATX__)
值:
(((__DMATX__) == IRDA_DMA_TX_DISABLE) || \
                                       ((__DMATX__) == IRDA_DMA_TX_ENABLE))

确保IRDA DMA发送模式有效。

参数:
__DMATX__IRDA DMA发送模式。
返回值:
SET(__DMATX__有效)或RESET(__DMATX__无效)

定义于文件stm32g4xx_hal_irda.h775行。

#define IS_IRDA_MODE (   __MODE__)
值:
(((__MODE__) == IRDA_MODE_DISABLE) || \
                                 ((__MODE__) == IRDA_MODE_ENABLE))

确保关联的IRDA UART/USART模式有效。

参数:
__MODE__IRDA关联的UART/USART模式。
返回值:
SET(__MODE__有效)或RESET(__MODE__无效)

定义于文件stm32g4xx_hal_irda.h761行。

#define IS_IRDA_ONE_BIT_SAMPLE (   __ONEBIT__)
值:
(((__ONEBIT__) == IRDA_ONE_BIT_SAMPLE_DISABLE) || \
                                                 ((__ONEBIT__) == IRDA_ONE_BIT_SAMPLE_ENABLE))

确保IRDA采样率有效。

参数:
__ONEBIT__IRDA采样率。
返回值:
SET(__ONEBIT__有效)或RESET(__ONEBIT__无效)

定义于文件stm32g4xx_hal_irda.h768行。

</
#define IS_IRDA_PARITY (   __PARITY__)