![]() |
|
|||
File indexing completed on 2025-05-11 08:23:35
0001 /** 0002 ****************************************************************************** 0003 * @file stm32h7xx_hal_crc_ex.h 0004 * @author MCD Application Team 0005 * @brief Header file of CRC HAL extended module. 0006 ****************************************************************************** 0007 * @attention 0008 * 0009 * Copyright (c) 2017 STMicroelectronics. 0010 * All rights reserved. 0011 * 0012 * This software is licensed under terms that can be found in the LICENSE file 0013 * in the root directory of this software component. 0014 * If no LICENSE file comes with this software, it is provided AS-IS. 0015 * 0016 ****************************************************************************** 0017 */ 0018 0019 /* Define to prevent recursive inclusion -------------------------------------*/ 0020 #ifndef STM32H7xx_HAL_CRC_EX_H 0021 #define STM32H7xx_HAL_CRC_EX_H 0022 0023 #ifdef __cplusplus 0024 extern "C" { 0025 #endif 0026 0027 /* Includes ------------------------------------------------------------------*/ 0028 #include "stm32h7xx_hal_def.h" 0029 0030 /** @addtogroup STM32H7xx_HAL_Driver 0031 * @{ 0032 */ 0033 0034 /** @addtogroup CRCEx 0035 * @{ 0036 */ 0037 0038 /* Exported types ------------------------------------------------------------*/ 0039 /* Exported constants --------------------------------------------------------*/ 0040 /** @defgroup CRCEx_Exported_Constants CRC Extended Exported Constants 0041 * @ingroup RTEMSBSPsARMSTM32H7 0042 * @{ 0043 */ 0044 0045 /** @defgroup CRCEx_Input_Data_Inversion Input Data Inversion Modes 0046 * @ingroup RTEMSBSPsARMSTM32H7 0047 * @{ 0048 */ 0049 #define CRC_INPUTDATA_INVERSION_NONE 0x00000000U /*!< No input data inversion */ 0050 #define CRC_INPUTDATA_INVERSION_BYTE CRC_CR_REV_IN_0 /*!< Byte-wise input data inversion */ 0051 #define CRC_INPUTDATA_INVERSION_HALFWORD CRC_CR_REV_IN_1 /*!< HalfWord-wise input data inversion */ 0052 #define CRC_INPUTDATA_INVERSION_WORD CRC_CR_REV_IN /*!< Word-wise input data inversion */ 0053 /** 0054 * @} 0055 */ 0056 0057 /** @defgroup CRCEx_Output_Data_Inversion Output Data Inversion Modes 0058 * @ingroup RTEMSBSPsARMSTM32H7 0059 * @{ 0060 */ 0061 #define CRC_OUTPUTDATA_INVERSION_DISABLE 0x00000000U /*!< No output data inversion */ 0062 #define CRC_OUTPUTDATA_INVERSION_ENABLE CRC_CR_REV_OUT /*!< Bit-wise output data inversion */ 0063 /** 0064 * @} 0065 */ 0066 0067 /** 0068 * @} 0069 */ 0070 0071 /* Exported macro ------------------------------------------------------------*/ 0072 /** @defgroup CRCEx_Exported_Macros CRC Extended Exported Macros 0073 * @ingroup RTEMSBSPsARMSTM32H7 0074 * @{ 0075 */ 0076 0077 /** 0078 * @brief Set CRC output reversal 0079 * @param __HANDLE__ CRC handle 0080 * @retval None 0081 */ 0082 #define __HAL_CRC_OUTPUTREVERSAL_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= CRC_CR_REV_OUT) 0083 0084 /** 0085 * @brief Unset CRC output reversal 0086 * @param __HANDLE__ CRC handle 0087 * @retval None 0088 */ 0089 #define __HAL_CRC_OUTPUTREVERSAL_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(CRC_CR_REV_OUT)) 0090 0091 /** 0092 * @brief Set CRC non-default polynomial 0093 * @param __HANDLE__ CRC handle 0094 * @param __POLYNOMIAL__ 7, 8, 16 or 32-bit polynomial 0095 * @retval None 0096 */ 0097 #define __HAL_CRC_POLYNOMIAL_CONFIG(__HANDLE__, __POLYNOMIAL__) ((__HANDLE__)->Instance->POL = (__POLYNOMIAL__)) 0098 0099 /** 0100 * @} 0101 */ 0102 0103 /* Private macros --------------------------------------------------------*/ 0104 /** @defgroup CRCEx_Private_Macros CRC Extended Private Macros 0105 * @ingroup RTEMSBSPsARMSTM32H7 0106 * @{ 0107 */ 0108 0109 #define IS_CRC_INPUTDATA_INVERSION_MODE(MODE) (((MODE) == CRC_INPUTDATA_INVERSION_NONE) || \ 0110 ((MODE) == CRC_INPUTDATA_INVERSION_BYTE) || \ 0111 ((MODE) == CRC_INPUTDATA_INVERSION_HALFWORD) || \ 0112 ((MODE) == CRC_INPUTDATA_INVERSION_WORD)) 0113 0114 #define IS_CRC_OUTPUTDATA_INVERSION_MODE(MODE) (((MODE) == CRC_OUTPUTDATA_INVERSION_DISABLE) || \ 0115 ((MODE) == CRC_OUTPUTDATA_INVERSION_ENABLE)) 0116 0117 /** 0118 * @} 0119 */ 0120 0121 /* Exported functions --------------------------------------------------------*/ 0122 0123 /** @addtogroup CRCEx_Exported_Functions 0124 * @{ 0125 */ 0126 0127 /** @addtogroup CRCEx_Exported_Functions_Group1 0128 * @{ 0129 */ 0130 /* Initialization and de-initialization functions ****************************/ 0131 HAL_StatusTypeDef HAL_CRCEx_Polynomial_Set(CRC_HandleTypeDef *hcrc, uint32_t Pol, uint32_t PolyLength); 0132 HAL_StatusTypeDef HAL_CRCEx_Input_Data_Reverse(CRC_HandleTypeDef *hcrc, uint32_t InputReverseMode); 0133 HAL_StatusTypeDef HAL_CRCEx_Output_Data_Reverse(CRC_HandleTypeDef *hcrc, uint32_t OutputReverseMode); 0134 0135 /** 0136 * @} 0137 */ 0138 0139 /** 0140 * @} 0141 */ 0142 0143 /** 0144 * @} 0145 */ 0146 0147 /** 0148 * @} 0149 */ 0150 0151 #ifdef __cplusplus 0152 } 0153 #endif 0154 0155 #endif /* STM32H7xx_HAL_CRC_EX_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |