STM32L4xx_HAL_Driver  1.14.0
stm32l4xx_hal_crc_ex.h
Go to the documentation of this file.
1 
20 /* Define to prevent recursive inclusion -------------------------------------*/
21 #ifndef STM32L4xx_HAL_CRC_EX_H
22 #define STM32L4xx_HAL_CRC_EX_H
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 /* Includes ------------------------------------------------------------------*/
29 #include "stm32l4xx_hal_def.h"
30 
39 /* Exported types ------------------------------------------------------------*/
40 /* Exported constants --------------------------------------------------------*/
48 #define CRC_INPUTDATA_INVERSION_NONE 0x00000000U
49 #define CRC_INPUTDATA_INVERSION_BYTE CRC_CR_REV_IN_0
50 #define CRC_INPUTDATA_INVERSION_HALFWORD CRC_CR_REV_IN_1
51 #define CRC_INPUTDATA_INVERSION_WORD CRC_CR_REV_IN
59 #define CRC_OUTPUTDATA_INVERSION_DISABLE 0x00000000U
60 #define CRC_OUTPUTDATA_INVERSION_ENABLE CRC_CR_REV_OUT
69 /* Exported macro ------------------------------------------------------------*/
70 
79 #define __HAL_CRC_OUTPUTREVERSAL_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= CRC_CR_REV_OUT)
80 
86 #define __HAL_CRC_OUTPUTREVERSAL_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(CRC_CR_REV_OUT))
87 
94 #define __HAL_CRC_POLYNOMIAL_CONFIG(__HANDLE__, __POLYNOMIAL__) ((__HANDLE__)->Instance->POL = (__POLYNOMIAL__))
95 
100 /* Private macros --------------------------------------------------------*/
105 #define IS_CRC_INPUTDATA_INVERSION_MODE(MODE) (((MODE) == CRC_INPUTDATA_INVERSION_NONE) || \
106  ((MODE) == CRC_INPUTDATA_INVERSION_BYTE) || \
107  ((MODE) == CRC_INPUTDATA_INVERSION_HALFWORD) || \
108  ((MODE) == CRC_INPUTDATA_INVERSION_WORD))
109 
110 #define IS_CRC_OUTPUTDATA_INVERSION_MODE(MODE) (((MODE) == CRC_OUTPUTDATA_INVERSION_DISABLE) || \
111  ((MODE) == CRC_OUTPUTDATA_INVERSION_ENABLE))
112 
117 /* Exported functions --------------------------------------------------------*/
118 
126 /* Initialization and de-initialization functions ****************************/
127 HAL_StatusTypeDef HAL_CRCEx_Polynomial_Set(CRC_HandleTypeDef *hcrc, uint32_t Pol, uint32_t PolyLength);
128 HAL_StatusTypeDef HAL_CRCEx_Input_Data_Reverse(CRC_HandleTypeDef *hcrc, uint32_t InputReverseMode);
129 HAL_StatusTypeDef HAL_CRCEx_Output_Data_Reverse(CRC_HandleTypeDef *hcrc, uint32_t OutputReverseMode);
130 
147 #ifdef __cplusplus
148 }
149 #endif
150 
151 #endif /* STM32L4xx_HAL_CRC_EX_H */
152 
153 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef HAL_CRCEx_Polynomial_Set(CRC_HandleTypeDef *hcrc, uint32_t Pol, uint32_t PolyLength)
Initialize the CRC polynomial if different from default one.
CRC Handle Structure definition.
HAL_StatusTypeDef HAL_CRCEx_Input_Data_Reverse(CRC_HandleTypeDef *hcrc, uint32_t InputReverseMode)
Set the Reverse Input data mode.
HAL_StatusTypeDef HAL_CRCEx_Output_Data_Reverse(CRC_HandleTypeDef *hcrc, uint32_t OutputReverseMode)
Set the Reverse Output data mode.