001

Committer:
ganlikun
Date:
Sun Jun 12 14:02:44 2022 +0000
Revision:
0:13413ea9a877
00

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ganlikun 0:13413ea9a877 1 /**
ganlikun 0:13413ea9a877 2 ******************************************************************************
ganlikun 0:13413ea9a877 3 * @file stm32f4xx_hal_rng.h
ganlikun 0:13413ea9a877 4 * @author MCD Application Team
ganlikun 0:13413ea9a877 5 * @version V1.7.1
ganlikun 0:13413ea9a877 6 * @date 14-April-2017
ganlikun 0:13413ea9a877 7 * @brief Header file of RNG HAL module.
ganlikun 0:13413ea9a877 8 ******************************************************************************
ganlikun 0:13413ea9a877 9 * @attention
ganlikun 0:13413ea9a877 10 *
ganlikun 0:13413ea9a877 11 * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
ganlikun 0:13413ea9a877 12 *
ganlikun 0:13413ea9a877 13 * Redistribution and use in source and binary forms, with or without modification,
ganlikun 0:13413ea9a877 14 * are permitted provided that the following conditions are met:
ganlikun 0:13413ea9a877 15 * 1. Redistributions of source code must retain the above copyright notice,
ganlikun 0:13413ea9a877 16 * this list of conditions and the following disclaimer.
ganlikun 0:13413ea9a877 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
ganlikun 0:13413ea9a877 18 * this list of conditions and the following disclaimer in the documentation
ganlikun 0:13413ea9a877 19 * and/or other materials provided with the distribution.
ganlikun 0:13413ea9a877 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
ganlikun 0:13413ea9a877 21 * may be used to endorse or promote products derived from this software
ganlikun 0:13413ea9a877 22 * without specific prior written permission.
ganlikun 0:13413ea9a877 23 *
ganlikun 0:13413ea9a877 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
ganlikun 0:13413ea9a877 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
ganlikun 0:13413ea9a877 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
ganlikun 0:13413ea9a877 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
ganlikun 0:13413ea9a877 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
ganlikun 0:13413ea9a877 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
ganlikun 0:13413ea9a877 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
ganlikun 0:13413ea9a877 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
ganlikun 0:13413ea9a877 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
ganlikun 0:13413ea9a877 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
ganlikun 0:13413ea9a877 34 *
ganlikun 0:13413ea9a877 35 ******************************************************************************
ganlikun 0:13413ea9a877 36 */
ganlikun 0:13413ea9a877 37
ganlikun 0:13413ea9a877 38 /* Define to prevent recursive inclusion -------------------------------------*/
ganlikun 0:13413ea9a877 39 #ifndef __STM32F4xx_HAL_RNG_H
ganlikun 0:13413ea9a877 40 #define __STM32F4xx_HAL_RNG_H
ganlikun 0:13413ea9a877 41
ganlikun 0:13413ea9a877 42 #ifdef __cplusplus
ganlikun 0:13413ea9a877 43 extern "C" {
ganlikun 0:13413ea9a877 44 #endif
ganlikun 0:13413ea9a877 45
ganlikun 0:13413ea9a877 46 #if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx) ||\
ganlikun 0:13413ea9a877 47 defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx) ||\
ganlikun 0:13413ea9a877 48 defined(STM32F410Tx) || defined(STM32F410Cx) || defined(STM32F410Rx) || defined(STM32F469xx) ||\
ganlikun 0:13413ea9a877 49 defined(STM32F479xx) || defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx) ||\
ganlikun 0:13413ea9a877 50 defined(STM32F412Cx) || defined(STM32F413xx) || defined(STM32F423xx)
ganlikun 0:13413ea9a877 51
ganlikun 0:13413ea9a877 52 /* Includes ------------------------------------------------------------------*/
ganlikun 0:13413ea9a877 53 #include "stm32f4xx_hal_def.h"
ganlikun 0:13413ea9a877 54
ganlikun 0:13413ea9a877 55 /** @addtogroup STM32F4xx_HAL_Driver
ganlikun 0:13413ea9a877 56 * @{
ganlikun 0:13413ea9a877 57 */
ganlikun 0:13413ea9a877 58
ganlikun 0:13413ea9a877 59 /** @defgroup RNG RNG
ganlikun 0:13413ea9a877 60 * @brief RNG HAL module driver
ganlikun 0:13413ea9a877 61 * @{
ganlikun 0:13413ea9a877 62 */
ganlikun 0:13413ea9a877 63
ganlikun 0:13413ea9a877 64 /* Exported types ------------------------------------------------------------*/
ganlikun 0:13413ea9a877 65
ganlikun 0:13413ea9a877 66 /** @defgroup RNG_Exported_Types RNG Exported Types
ganlikun 0:13413ea9a877 67 * @{
ganlikun 0:13413ea9a877 68 */
ganlikun 0:13413ea9a877 69
ganlikun 0:13413ea9a877 70 /** @defgroup RNG_Exported_Types_Group1 RNG State Structure definition
ganlikun 0:13413ea9a877 71 * @{
ganlikun 0:13413ea9a877 72 */
ganlikun 0:13413ea9a877 73 typedef enum
ganlikun 0:13413ea9a877 74 {
ganlikun 0:13413ea9a877 75 HAL_RNG_STATE_RESET = 0x00U, /*!< RNG not yet initialized or disabled */
ganlikun 0:13413ea9a877 76 HAL_RNG_STATE_READY = 0x01U, /*!< RNG initialized and ready for use */
ganlikun 0:13413ea9a877 77 HAL_RNG_STATE_BUSY = 0x02U, /*!< RNG internal process is ongoing */
ganlikun 0:13413ea9a877 78 HAL_RNG_STATE_TIMEOUT = 0x03U, /*!< RNG timeout state */
ganlikun 0:13413ea9a877 79 HAL_RNG_STATE_ERROR = 0x04U /*!< RNG error state */
ganlikun 0:13413ea9a877 80
ganlikun 0:13413ea9a877 81 }HAL_RNG_StateTypeDef;
ganlikun 0:13413ea9a877 82
ganlikun 0:13413ea9a877 83 /**
ganlikun 0:13413ea9a877 84 * @}
ganlikun 0:13413ea9a877 85 */
ganlikun 0:13413ea9a877 86
ganlikun 0:13413ea9a877 87 /** @defgroup RNG_Exported_Types_Group2 RNG Handle Structure definition
ganlikun 0:13413ea9a877 88 * @{
ganlikun 0:13413ea9a877 89 */
ganlikun 0:13413ea9a877 90 typedef struct
ganlikun 0:13413ea9a877 91 {
ganlikun 0:13413ea9a877 92 RNG_TypeDef *Instance; /*!< Register base address */
ganlikun 0:13413ea9a877 93
ganlikun 0:13413ea9a877 94 HAL_LockTypeDef Lock; /*!< RNG locking object */
ganlikun 0:13413ea9a877 95
ganlikun 0:13413ea9a877 96 __IO HAL_RNG_StateTypeDef State; /*!< RNG communication state */
ganlikun 0:13413ea9a877 97
ganlikun 0:13413ea9a877 98 uint32_t RandomNumber; /*!< Last Generated RNG Data */
ganlikun 0:13413ea9a877 99
ganlikun 0:13413ea9a877 100 }RNG_HandleTypeDef;
ganlikun 0:13413ea9a877 101
ganlikun 0:13413ea9a877 102 /**
ganlikun 0:13413ea9a877 103 * @}
ganlikun 0:13413ea9a877 104 */
ganlikun 0:13413ea9a877 105
ganlikun 0:13413ea9a877 106 /**
ganlikun 0:13413ea9a877 107 * @}
ganlikun 0:13413ea9a877 108 */
ganlikun 0:13413ea9a877 109
ganlikun 0:13413ea9a877 110 /* Exported constants --------------------------------------------------------*/
ganlikun 0:13413ea9a877 111
ganlikun 0:13413ea9a877 112 /** @defgroup RNG_Exported_Constants RNG Exported Constants
ganlikun 0:13413ea9a877 113 * @{
ganlikun 0:13413ea9a877 114 */
ganlikun 0:13413ea9a877 115
ganlikun 0:13413ea9a877 116 /** @defgroup RNG_Exported_Constants_Group1 RNG Interrupt definition
ganlikun 0:13413ea9a877 117 * @{
ganlikun 0:13413ea9a877 118 */
ganlikun 0:13413ea9a877 119 #define RNG_IT_DRDY RNG_SR_DRDY /*!< Data Ready interrupt */
ganlikun 0:13413ea9a877 120 #define RNG_IT_CEI RNG_SR_CEIS /*!< Clock error interrupt */
ganlikun 0:13413ea9a877 121 #define RNG_IT_SEI RNG_SR_SEIS /*!< Seed error interrupt */
ganlikun 0:13413ea9a877 122 /**
ganlikun 0:13413ea9a877 123 * @}
ganlikun 0:13413ea9a877 124 */
ganlikun 0:13413ea9a877 125
ganlikun 0:13413ea9a877 126 /** @defgroup RNG_Exported_Constants_Group2 RNG Flag definition
ganlikun 0:13413ea9a877 127 * @{
ganlikun 0:13413ea9a877 128 */
ganlikun 0:13413ea9a877 129 #define RNG_FLAG_DRDY RNG_SR_DRDY /*!< Data ready */
ganlikun 0:13413ea9a877 130 #define RNG_FLAG_CECS RNG_SR_CECS /*!< Clock error current status */
ganlikun 0:13413ea9a877 131 #define RNG_FLAG_SECS RNG_SR_SECS /*!< Seed error current status */
ganlikun 0:13413ea9a877 132
ganlikun 0:13413ea9a877 133 /**
ganlikun 0:13413ea9a877 134 * @}
ganlikun 0:13413ea9a877 135 */
ganlikun 0:13413ea9a877 136
ganlikun 0:13413ea9a877 137 /**
ganlikun 0:13413ea9a877 138 * @}
ganlikun 0:13413ea9a877 139 */
ganlikun 0:13413ea9a877 140
ganlikun 0:13413ea9a877 141 /* Exported macros -----------------------------------------------------------*/
ganlikun 0:13413ea9a877 142
ganlikun 0:13413ea9a877 143 /** @defgroup RNG_Exported_Macros RNG Exported Macros
ganlikun 0:13413ea9a877 144 * @{
ganlikun 0:13413ea9a877 145 */
ganlikun 0:13413ea9a877 146
ganlikun 0:13413ea9a877 147 /** @brief Reset RNG handle state
ganlikun 0:13413ea9a877 148 * @param __HANDLE__: RNG Handle
ganlikun 0:13413ea9a877 149 * @retval None
ganlikun 0:13413ea9a877 150 */
ganlikun 0:13413ea9a877 151 #define __HAL_RNG_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_RNG_STATE_RESET)
ganlikun 0:13413ea9a877 152
ganlikun 0:13413ea9a877 153 /**
ganlikun 0:13413ea9a877 154 * @brief Enables the RNG peripheral.
ganlikun 0:13413ea9a877 155 * @param __HANDLE__: RNG Handle
ganlikun 0:13413ea9a877 156 * @retval None
ganlikun 0:13413ea9a877 157 */
ganlikun 0:13413ea9a877 158 #define __HAL_RNG_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= RNG_CR_RNGEN)
ganlikun 0:13413ea9a877 159
ganlikun 0:13413ea9a877 160 /**
ganlikun 0:13413ea9a877 161 * @brief Disables the RNG peripheral.
ganlikun 0:13413ea9a877 162 * @param __HANDLE__: RNG Handle
ganlikun 0:13413ea9a877 163 * @retval None
ganlikun 0:13413ea9a877 164 */
ganlikun 0:13413ea9a877 165 #define __HAL_RNG_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~RNG_CR_RNGEN)
ganlikun 0:13413ea9a877 166
ganlikun 0:13413ea9a877 167 /**
ganlikun 0:13413ea9a877 168 * @brief Check the selected RNG flag status.
ganlikun 0:13413ea9a877 169 * @param __HANDLE__: RNG Handle
ganlikun 0:13413ea9a877 170 * @param __FLAG__: RNG flag
ganlikun 0:13413ea9a877 171 * This parameter can be one of the following values:
ganlikun 0:13413ea9a877 172 * @arg RNG_FLAG_DRDY: Data ready
ganlikun 0:13413ea9a877 173 * @arg RNG_FLAG_CECS: Clock error current status
ganlikun 0:13413ea9a877 174 * @arg RNG_FLAG_SECS: Seed error current status
ganlikun 0:13413ea9a877 175 * @retval The new state of __FLAG__ (SET or RESET).
ganlikun 0:13413ea9a877 176 */
ganlikun 0:13413ea9a877 177 #define __HAL_RNG_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->SR & (__FLAG__)) == (__FLAG__))
ganlikun 0:13413ea9a877 178
ganlikun 0:13413ea9a877 179 /**
ganlikun 0:13413ea9a877 180 * @brief Clears the selected RNG flag status.
ganlikun 0:13413ea9a877 181 * @param __HANDLE__: RNG handle
ganlikun 0:13413ea9a877 182 * @param __FLAG__: RNG flag to clear
ganlikun 0:13413ea9a877 183 * @note WARNING: This is a dummy macro for HAL code alignment,
ganlikun 0:13413ea9a877 184 * flags RNG_FLAG_DRDY, RNG_FLAG_CECS and RNG_FLAG_SECS are read-only.
ganlikun 0:13413ea9a877 185 * @retval None
ganlikun 0:13413ea9a877 186 */
ganlikun 0:13413ea9a877 187 #define __HAL_RNG_CLEAR_FLAG(__HANDLE__, __FLAG__) /* dummy macro */
ganlikun 0:13413ea9a877 188
ganlikun 0:13413ea9a877 189
ganlikun 0:13413ea9a877 190
ganlikun 0:13413ea9a877 191 /**
ganlikun 0:13413ea9a877 192 * @brief Enables the RNG interrupts.
ganlikun 0:13413ea9a877 193 * @param __HANDLE__: RNG Handle
ganlikun 0:13413ea9a877 194 * @retval None
ganlikun 0:13413ea9a877 195 */
ganlikun 0:13413ea9a877 196 #define __HAL_RNG_ENABLE_IT(__HANDLE__) ((__HANDLE__)->Instance->CR |= RNG_CR_IE)
ganlikun 0:13413ea9a877 197
ganlikun 0:13413ea9a877 198 /**
ganlikun 0:13413ea9a877 199 * @brief Disables the RNG interrupts.
ganlikun 0:13413ea9a877 200 * @param __HANDLE__: RNG Handle
ganlikun 0:13413ea9a877 201 * @retval None
ganlikun 0:13413ea9a877 202 */
ganlikun 0:13413ea9a877 203 #define __HAL_RNG_DISABLE_IT(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~RNG_CR_IE)
ganlikun 0:13413ea9a877 204
ganlikun 0:13413ea9a877 205 /**
ganlikun 0:13413ea9a877 206 * @brief Checks whether the specified RNG interrupt has occurred or not.
ganlikun 0:13413ea9a877 207 * @param __HANDLE__: RNG Handle
ganlikun 0:13413ea9a877 208 * @param __INTERRUPT__: specifies the RNG interrupt status flag to check.
ganlikun 0:13413ea9a877 209 * This parameter can be one of the following values:
ganlikun 0:13413ea9a877 210 * @arg RNG_IT_DRDY: Data ready interrupt
ganlikun 0:13413ea9a877 211 * @arg RNG_IT_CEI: Clock error interrupt
ganlikun 0:13413ea9a877 212 * @arg RNG_IT_SEI: Seed error interrupt
ganlikun 0:13413ea9a877 213 * @retval The new state of __INTERRUPT__ (SET or RESET).
ganlikun 0:13413ea9a877 214 */
ganlikun 0:13413ea9a877 215 #define __HAL_RNG_GET_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->SR & (__INTERRUPT__)) == (__INTERRUPT__))
ganlikun 0:13413ea9a877 216
ganlikun 0:13413ea9a877 217 /**
ganlikun 0:13413ea9a877 218 * @brief Clear the RNG interrupt status flags.
ganlikun 0:13413ea9a877 219 * @param __HANDLE__: RNG Handle
ganlikun 0:13413ea9a877 220 * @param __INTERRUPT__: specifies the RNG interrupt status flag to clear.
ganlikun 0:13413ea9a877 221 * This parameter can be one of the following values:
ganlikun 0:13413ea9a877 222 * @arg RNG_IT_CEI: Clock error interrupt
ganlikun 0:13413ea9a877 223 * @arg RNG_IT_SEI: Seed error interrupt
ganlikun 0:13413ea9a877 224 * @note RNG_IT_DRDY flag is read-only, reading RNG_DR register automatically clears RNG_IT_DRDY.
ganlikun 0:13413ea9a877 225 * @retval None
ganlikun 0:13413ea9a877 226 */
ganlikun 0:13413ea9a877 227 #define __HAL_RNG_CLEAR_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->SR) = ~(__INTERRUPT__))
ganlikun 0:13413ea9a877 228
ganlikun 0:13413ea9a877 229 /**
ganlikun 0:13413ea9a877 230 * @}
ganlikun 0:13413ea9a877 231 */
ganlikun 0:13413ea9a877 232
ganlikun 0:13413ea9a877 233 /* Exported functions --------------------------------------------------------*/
ganlikun 0:13413ea9a877 234 /** @defgroup RNG_Exported_Functions RNG Exported Functions
ganlikun 0:13413ea9a877 235 * @{
ganlikun 0:13413ea9a877 236 */
ganlikun 0:13413ea9a877 237
ganlikun 0:13413ea9a877 238 /** @defgroup RNG_Exported_Functions_Group1 Initialization and de-initialization functions
ganlikun 0:13413ea9a877 239 * @{
ganlikun 0:13413ea9a877 240 */
ganlikun 0:13413ea9a877 241 HAL_StatusTypeDef HAL_RNG_Init(RNG_HandleTypeDef *hrng);
ganlikun 0:13413ea9a877 242 HAL_StatusTypeDef HAL_RNG_DeInit (RNG_HandleTypeDef *hrng);
ganlikun 0:13413ea9a877 243 void HAL_RNG_MspInit(RNG_HandleTypeDef *hrng);
ganlikun 0:13413ea9a877 244 void HAL_RNG_MspDeInit(RNG_HandleTypeDef *hrng);
ganlikun 0:13413ea9a877 245
ganlikun 0:13413ea9a877 246 /**
ganlikun 0:13413ea9a877 247 * @}
ganlikun 0:13413ea9a877 248 */
ganlikun 0:13413ea9a877 249
ganlikun 0:13413ea9a877 250 /** @defgroup RNG_Exported_Functions_Group2 Peripheral Control functions
ganlikun 0:13413ea9a877 251 * @{
ganlikun 0:13413ea9a877 252 */
ganlikun 0:13413ea9a877 253 uint32_t HAL_RNG_GetRandomNumber(RNG_HandleTypeDef *hrng); /* Obsolete, use HAL_RNG_GenerateRandomNumber() instead */
ganlikun 0:13413ea9a877 254 uint32_t HAL_RNG_GetRandomNumber_IT(RNG_HandleTypeDef *hrng); /* Obsolete, use HAL_RNG_GenerateRandomNumber_IT() instead */
ganlikun 0:13413ea9a877 255
ganlikun 0:13413ea9a877 256 HAL_StatusTypeDef HAL_RNG_GenerateRandomNumber(RNG_HandleTypeDef *hrng, uint32_t *random32bit);
ganlikun 0:13413ea9a877 257 HAL_StatusTypeDef HAL_RNG_GenerateRandomNumber_IT(RNG_HandleTypeDef *hrng);
ganlikun 0:13413ea9a877 258 uint32_t HAL_RNG_ReadLastRandomNumber(RNG_HandleTypeDef *hrng);
ganlikun 0:13413ea9a877 259
ganlikun 0:13413ea9a877 260 void HAL_RNG_IRQHandler(RNG_HandleTypeDef *hrng);
ganlikun 0:13413ea9a877 261 void HAL_RNG_ErrorCallback(RNG_HandleTypeDef *hrng);
ganlikun 0:13413ea9a877 262 void HAL_RNG_ReadyDataCallback(RNG_HandleTypeDef* hrng, uint32_t random32bit);
ganlikun 0:13413ea9a877 263
ganlikun 0:13413ea9a877 264 /**
ganlikun 0:13413ea9a877 265 * @}
ganlikun 0:13413ea9a877 266 */
ganlikun 0:13413ea9a877 267
ganlikun 0:13413ea9a877 268 /** @defgroup RNG_Exported_Functions_Group3 Peripheral State functions
ganlikun 0:13413ea9a877 269 * @{
ganlikun 0:13413ea9a877 270 */
ganlikun 0:13413ea9a877 271 HAL_RNG_StateTypeDef HAL_RNG_GetState(RNG_HandleTypeDef *hrng);
ganlikun 0:13413ea9a877 272
ganlikun 0:13413ea9a877 273 /**
ganlikun 0:13413ea9a877 274 * @}
ganlikun 0:13413ea9a877 275 */
ganlikun 0:13413ea9a877 276
ganlikun 0:13413ea9a877 277 /**
ganlikun 0:13413ea9a877 278 * @}
ganlikun 0:13413ea9a877 279 */
ganlikun 0:13413ea9a877 280
ganlikun 0:13413ea9a877 281 /* Private types -------------------------------------------------------------*/
ganlikun 0:13413ea9a877 282 /** @defgroup RNG_Private_Types RNG Private Types
ganlikun 0:13413ea9a877 283 * @{
ganlikun 0:13413ea9a877 284 */
ganlikun 0:13413ea9a877 285
ganlikun 0:13413ea9a877 286 /**
ganlikun 0:13413ea9a877 287 * @}
ganlikun 0:13413ea9a877 288 */
ganlikun 0:13413ea9a877 289
ganlikun 0:13413ea9a877 290 /* Private defines -----------------------------------------------------------*/
ganlikun 0:13413ea9a877 291 /** @defgroup RNG_Private_Defines RNG Private Defines
ganlikun 0:13413ea9a877 292 * @{
ganlikun 0:13413ea9a877 293 */
ganlikun 0:13413ea9a877 294
ganlikun 0:13413ea9a877 295 /**
ganlikun 0:13413ea9a877 296 * @}
ganlikun 0:13413ea9a877 297 */
ganlikun 0:13413ea9a877 298
ganlikun 0:13413ea9a877 299 /* Private variables ---------------------------------------------------------*/
ganlikun 0:13413ea9a877 300 /** @defgroup RNG_Private_Variables RNG Private Variables
ganlikun 0:13413ea9a877 301 * @{
ganlikun 0:13413ea9a877 302 */
ganlikun 0:13413ea9a877 303
ganlikun 0:13413ea9a877 304 /**
ganlikun 0:13413ea9a877 305 * @}
ganlikun 0:13413ea9a877 306 */
ganlikun 0:13413ea9a877 307
ganlikun 0:13413ea9a877 308 /* Private constants ---------------------------------------------------------*/
ganlikun 0:13413ea9a877 309 /** @defgroup RNG_Private_Constants RNG Private Constants
ganlikun 0:13413ea9a877 310 * @{
ganlikun 0:13413ea9a877 311 */
ganlikun 0:13413ea9a877 312
ganlikun 0:13413ea9a877 313 /**
ganlikun 0:13413ea9a877 314 * @}
ganlikun 0:13413ea9a877 315 */
ganlikun 0:13413ea9a877 316
ganlikun 0:13413ea9a877 317 /* Private macros ------------------------------------------------------------*/
ganlikun 0:13413ea9a877 318 /** @defgroup RNG_Private_Macros RNG Private Macros
ganlikun 0:13413ea9a877 319 * @{
ganlikun 0:13413ea9a877 320 */
ganlikun 0:13413ea9a877 321 #define IS_RNG_IT(IT) (((IT) == RNG_IT_CEI) || \
ganlikun 0:13413ea9a877 322 ((IT) == RNG_IT_SEI))
ganlikun 0:13413ea9a877 323
ganlikun 0:13413ea9a877 324 #define IS_RNG_FLAG(FLAG) (((FLAG) == RNG_FLAG_DRDY) || \
ganlikun 0:13413ea9a877 325 ((FLAG) == RNG_FLAG_CECS) || \
ganlikun 0:13413ea9a877 326 ((FLAG) == RNG_FLAG_SECS))
ganlikun 0:13413ea9a877 327
ganlikun 0:13413ea9a877 328 /**
ganlikun 0:13413ea9a877 329 * @}
ganlikun 0:13413ea9a877 330 */
ganlikun 0:13413ea9a877 331
ganlikun 0:13413ea9a877 332 /* Private functions prototypes ----------------------------------------------*/
ganlikun 0:13413ea9a877 333 /** @defgroup RNG_Private_Functions_Prototypes RNG Private Functions Prototypes
ganlikun 0:13413ea9a877 334 * @{
ganlikun 0:13413ea9a877 335 */
ganlikun 0:13413ea9a877 336
ganlikun 0:13413ea9a877 337 /**
ganlikun 0:13413ea9a877 338 * @}
ganlikun 0:13413ea9a877 339 */
ganlikun 0:13413ea9a877 340
ganlikun 0:13413ea9a877 341 /* Private functions ---------------------------------------------------------*/
ganlikun 0:13413ea9a877 342 /** @defgroup RNG_Private_Functions RNG Private Functions
ganlikun 0:13413ea9a877 343 * @{
ganlikun 0:13413ea9a877 344 */
ganlikun 0:13413ea9a877 345
ganlikun 0:13413ea9a877 346 /**
ganlikun 0:13413ea9a877 347 * @}
ganlikun 0:13413ea9a877 348 */
ganlikun 0:13413ea9a877 349
ganlikun 0:13413ea9a877 350 /**
ganlikun 0:13413ea9a877 351 * @}
ganlikun 0:13413ea9a877 352 */
ganlikun 0:13413ea9a877 353
ganlikun 0:13413ea9a877 354 /**
ganlikun 0:13413ea9a877 355 * @}
ganlikun 0:13413ea9a877 356 */
ganlikun 0:13413ea9a877 357
ganlikun 0:13413ea9a877 358 #endif /* STM32F405xx || STM32F415xx || STM32F407xx || STM32F417xx || STM32F427xx || STM32F437xx ||\
ganlikun 0:13413ea9a877 359 STM32F429xx || STM32F439xx || STM32F410xx || STM32F469xx || STM32F479xx || STM32F412Zx ||\
ganlikun 0:13413ea9a877 360 STM32F412Vx || STM32F412Rx || STM32F412Cx || STM32F413xx || STM32F423xx */
ganlikun 0:13413ea9a877 361
ganlikun 0:13413ea9a877 362 #ifdef __cplusplus
ganlikun 0:13413ea9a877 363 }
ganlikun 0:13413ea9a877 364 #endif
ganlikun 0:13413ea9a877 365
ganlikun 0:13413ea9a877 366
ganlikun 0:13413ea9a877 367 #endif /* __STM32F4xx_HAL_RNG_H */
ganlikun 0:13413ea9a877 368
ganlikun 0:13413ea9a877 369 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
ganlikun 0:13413ea9a877 370