107 #ifdef HAL_RNG_MODULE_ENABLED 116 #define RNG_TIMEOUT_VALUE 2 163 #if defined(RNG_CR_CED) 167 #if (USE_HAL_RNG_REGISTER_CALLBACKS == 1) 198 #if defined(RNG_CR_CED) 204 __HAL_RNG_ENABLE(hrng);
229 #if defined(RNG_CR_CED) 240 #if (USE_HAL_RNG_REGISTER_CALLBACKS == 1) 296 #if (USE_HAL_RNG_REGISTER_CALLBACKS == 1) 311 HAL_StatusTypeDef status =
HAL_OK;
313 if(pCallback == NULL)
316 hrng->
ErrorCode |= HAL_RNG_ERROR_INVALID_CALLBACK;
340 hrng->
ErrorCode |= HAL_RNG_ERROR_INVALID_CALLBACK;
360 hrng->
ErrorCode |= HAL_RNG_ERROR_INVALID_CALLBACK;
369 hrng->
ErrorCode |= HAL_RNG_ERROR_INVALID_CALLBACK;
392 HAL_StatusTypeDef status =
HAL_OK;
415 hrng->
ErrorCode |= HAL_RNG_ERROR_INVALID_CALLBACK;
435 hrng->
ErrorCode |= HAL_RNG_ERROR_INVALID_CALLBACK;
444 hrng->
ErrorCode |= HAL_RNG_ERROR_INVALID_CALLBACK;
463 HAL_StatusTypeDef status =
HAL_OK;
465 if(pCallback == NULL)
468 hrng->
ErrorCode |= HAL_RNG_ERROR_INVALID_CALLBACK;
481 hrng->
ErrorCode |= HAL_RNG_ERROR_INVALID_CALLBACK;
499 HAL_StatusTypeDef status =
HAL_OK;
511 hrng->
ErrorCode |= HAL_RNG_ERROR_INVALID_CALLBACK;
554 uint32_t tickstart = 0;
555 HAL_StatusTypeDef status =
HAL_OK;
570 while(__HAL_RNG_GET_FLAG(hrng, RNG_FLAG_DRDY) == RESET)
572 if((
HAL_GetTick() - tickstart ) > RNG_TIMEOUT_VALUE)
607 HAL_StatusTypeDef status =
HAL_OK;
622 __HAL_RNG_ENABLE_IT(hrng);
657 if((__HAL_RNG_GET_IT(hrng, RNG_IT_CEI) != RESET) || (__HAL_RNG_GET_IT(hrng, RNG_IT_SEI) != RESET))
662 #if (USE_HAL_RNG_REGISTER_CALLBACKS == 1) 671 __HAL_RNG_CLEAR_IT(hrng, RNG_IT_CEI|RNG_IT_SEI);
676 if(__HAL_RNG_GET_IT(hrng, RNG_IT_DRDY) != RESET)
679 __HAL_RNG_DISABLE_IT(hrng);
689 #if (USE_HAL_RNG_REGISTER_CALLBACKS == 1) 728 uint32_t random32bit = 0;
740 __HAL_RNG_ENABLE_IT(hrng);
void(* ErrorCallback)(struct __RNG_HandleTypeDef *hrng)
void(* pRNG_ReadyDataCallbackTypeDef)(RNG_HandleTypeDef *hrng, uint32_t random32bit)
void HAL_RNG_ReadyDataCallback(RNG_HandleTypeDef *hrng, uint32_t random32bit)
Data Ready callback in non-blocking mode.
RNG Handle Structure definition.
HAL_RNG_CallbackIDTypeDef
HAL RNG Callback ID enumeration definition.
void HAL_RNG_ErrorCallback(RNG_HandleTypeDef *hrng)
RNG error callback.
HAL_StatusTypeDef HAL_RNG_RegisterReadyDataCallback(RNG_HandleTypeDef *hrng, pRNG_ReadyDataCallbackTypeDef pCallback)
Register Data Ready RNG Callback To be used instead of the weak HAL_RNG_ReadyDataCallback() predefine...
__IO HAL_RNG_StateTypeDef State
This file contains all the functions prototypes for the HAL module driver.
uint32_t HAL_RNG_GetError(RNG_HandleTypeDef *hrng)
Return the RNG handle error code.
void HAL_RNG_IRQHandler(RNG_HandleTypeDef *hrng)
Handle RNG interrupt request.
HAL_RNG_StateTypeDef
RNG HAL State Structure definition.
uint32_t HAL_RNG_GetRandomNumber(RNG_HandleTypeDef *hrng)
Return generated random number in polling mode (Obsolete).
HAL_StatusTypeDef HAL_RNG_GenerateRandomNumber_IT(RNG_HandleTypeDef *hrng)
Generate a 32-bit random number in interrupt mode.
void HAL_RNG_MspDeInit(RNG_HandleTypeDef *hrng)
DeInitialize the RNG MSP.
uint32_t HAL_GetTick(void)
Provide a tick value in millisecond.
HAL_StatusTypeDef HAL_RNG_DeInit(RNG_HandleTypeDef *hrng)
DeInitialize the RNG peripheral.
void(* pRNG_CallbackTypeDef)(RNG_HandleTypeDef *hrng)
HAL RNG Callback pointer definition.
HAL_StatusTypeDef HAL_RNG_UnRegisterReadyDataCallback(RNG_HandleTypeDef *hrng)
UnRegister the Data Ready RNG Callback Data Ready RNG Callback is redirected to the weak HAL_RNG_Read...
uint32_t HAL_RNG_ReadLastRandomNumber(RNG_HandleTypeDef *hrng)
Read latest generated random number.
CLEAR_BIT(hrtc->Instance->CR, RTC_CR_WUTE)
HAL_StatusTypeDef HAL_RNG_UnRegisterCallback(RNG_HandleTypeDef *hrng, HAL_RNG_CallbackIDTypeDef CallbackID)
Unregister an RNG Callback RNG callabck is redirected to the weak predefined callback.
HAL_StatusTypeDef HAL_RNG_RegisterCallback(RNG_HandleTypeDef *hrng, HAL_RNG_CallbackIDTypeDef CallbackID, pRNG_CallbackTypeDef pCallback)
Register a User RNG Callback To be used instead of the weak predefined callback.
void(* MspDeInitCallback)(struct __RNG_HandleTypeDef *hrng)
HAL_StatusTypeDef HAL_RNG_Init(RNG_HandleTypeDef *hrng)
Initialize the RNG peripheral and initialize the associated handle.
uint32_t HAL_RNG_GetRandomNumber_IT(RNG_HandleTypeDef *hrng)
Return a 32-bit random number with interrupt enabled (Obsolete).
HAL_RNG_StateTypeDef HAL_RNG_GetState(RNG_HandleTypeDef *hrng)
Return the RNG handle state.
void(* MspInitCallback)(struct __RNG_HandleTypeDef *hrng)
HAL_StatusTypeDef HAL_RNG_GenerateRandomNumber(RNG_HandleTypeDef *hrng, uint32_t *random32bit)
Generate a 32-bit random number.
void HAL_RNG_MspInit(RNG_HandleTypeDef *hrng)
Initialize the RNG MSP.
MODIFY_REG(hrtc->Instance->CR, RTC_CR_WUCKSEL,(uint32_t) WakeUpClock)
void(* ReadyDataCallback)(struct __RNG_HandleTypeDef *hrng, uint32_t random32bit)
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))