39 #ifndef __STM32F4xx_HAL_RNG_H 40 #define __STM32F4xx_HAL_RNG_H 46 #if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx) ||\ 47 defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx) ||\ 48 defined(STM32F410Tx) || defined(STM32F410Cx) || defined(STM32F410Rx) || defined(STM32F469xx) ||\ 49 defined(STM32F479xx) || defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx) ||\ 75 HAL_RNG_STATE_RESET = 0x00U,
76 HAL_RNG_STATE_READY = 0x01U,
77 HAL_RNG_STATE_BUSY = 0x02U,
78 HAL_RNG_STATE_TIMEOUT = 0x03U,
79 HAL_RNG_STATE_ERROR = 0x04U
81 }HAL_RNG_StateTypeDef;
96 __IO HAL_RNG_StateTypeDef State;
98 uint32_t RandomNumber;
119 #define RNG_IT_DRDY RNG_SR_DRDY 120 #define RNG_IT_CEI RNG_SR_CEIS 121 #define RNG_IT_SEI RNG_SR_SEIS 129 #define RNG_FLAG_DRDY RNG_SR_DRDY 130 #define RNG_FLAG_CECS RNG_SR_CECS 131 #define RNG_FLAG_SECS RNG_SR_SECS 151 #define __HAL_RNG_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_RNG_STATE_RESET) 158 #define __HAL_RNG_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= RNG_CR_RNGEN) 165 #define __HAL_RNG_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~RNG_CR_RNGEN) 177 #define __HAL_RNG_GET_FLAG(__HANDLE__, __FLAG__) (((__HANDLE__)->Instance->SR & (__FLAG__)) == (__FLAG__)) 187 #define __HAL_RNG_CLEAR_FLAG(__HANDLE__, __FLAG__) 196 #define __HAL_RNG_ENABLE_IT(__HANDLE__) ((__HANDLE__)->Instance->CR |= RNG_CR_IE) 203 #define __HAL_RNG_DISABLE_IT(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~RNG_CR_IE) 215 #define __HAL_RNG_GET_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->SR & (__INTERRUPT__)) == (__INTERRUPT__)) 227 #define __HAL_RNG_CLEAR_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->SR) = ~(__INTERRUPT__)) 243 void HAL_RNG_MspInit(RNG_HandleTypeDef *hrng);
244 void HAL_RNG_MspDeInit(RNG_HandleTypeDef *hrng);
253 uint32_t HAL_RNG_GetRandomNumber(RNG_HandleTypeDef *hrng);
254 uint32_t HAL_RNG_GetRandomNumber_IT(RNG_HandleTypeDef *hrng);
256 HAL_StatusTypeDef HAL_RNG_GenerateRandomNumber(RNG_HandleTypeDef *hrng, uint32_t *random32bit);
258 uint32_t HAL_RNG_ReadLastRandomNumber(RNG_HandleTypeDef *hrng);
260 void HAL_RNG_IRQHandler(RNG_HandleTypeDef *hrng);
261 void HAL_RNG_ErrorCallback(RNG_HandleTypeDef *hrng);
262 void HAL_RNG_ReadyDataCallback(RNG_HandleTypeDef* hrng, uint32_t random32bit);
271 HAL_RNG_StateTypeDef HAL_RNG_GetState(RNG_HandleTypeDef *hrng);
321 #define IS_RNG_IT(IT) (((IT) == RNG_IT_CEI) || \ 322 ((IT) == RNG_IT_SEI)) 324 #define IS_RNG_FLAG(FLAG) (((FLAG) == RNG_FLAG_DRDY) || \ 325 ((FLAG) == RNG_FLAG_CECS) || \ 326 ((FLAG) == RNG_FLAG_SECS)) This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef
HAL Status structures definition.
Definition: stm32f4xx_hal_def.h:57
#define __IO
Definition: core_cm0.h:213
HAL_LockTypeDef
HAL Lock structures definition.
Definition: stm32f4xx_hal_def.h:68
RNG.
Definition: stm32f405xx.h:708