CIU32_L051_M307R/Peripheral/CIU32L051_Lib/Source/ciu32l051_std_trng.c

85 lines
2.0 KiB
C
Raw Permalink Normal View History

/************************************************************************************************/
/**
* @file ciu32l051_std_trng.c
* @author MCU Ecosystem Development Team
* @brief TRNG STD<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* ʵ<EFBFBD><EFBFBD>TRNGģ<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>á<EFBFBD><EFBFBD><EFBFBD>ȡ32λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȹ<EFBFBD><EFBFBD><EFBFBD>API<EFBFBD><EFBFBD>
*
*
**************************************************************************************************
* @attention
* Copyright (c) CEC Huada Electronic Design Co.,Ltd. All rights reserved.
*
**************************************************************************************************
*/
/************************************************************************************************/
/**
* @addtogroup CIU32L051_STD_Driver
* @{
*/
/**
* @addtogroup TRNG
* @{
*
*/
/************************************************************************************************/
/*------------------------------------includes--------------------------------------------------*/
#include "ciu32l051_std.h"
#ifdef STD_TRNG_PERIPHERAL_USED
/*------------------------------------functions-------------------------------------------------*/
/************************************************************************************************/
/**
* @addtogroup TRNG_External_Functions
* @{
*
*/
/************************************************************************************************/
/**
* @brief TRNGȥ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
void std_trng_deinit(void)
{
/* <20><>λTRNG */
std_rcc_apb2_reset(RCC_PERIPH_RESET_TRNG);
/* TRNGʱ<47>ӽ<EFBFBD>ֹ */
std_rcc_apb2_clk_disable(RCC_PERIPH_CLK_TRNG);
}
/**
* @brief <EFBFBD><EFBFBD>ȡ32λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param rng_data32 <EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>32λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @retval std_status_t <EFBFBD><EFBFBD><EFBFBD><EFBFBD>APIִ<EFBFBD>н<EFBFBD><EFBFBD><EFBFBD>
*/
std_status_t std_trng_get_random_number(uint32_t *rng_data32)
{
/* <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
while (!std_trng_get_flag_ready());
/* <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
*rng_data32 = std_trng_read_data();
return STD_OK;
}
/**
* @}
*/
/**
* @}
*/
#endif /* STD_TRNG_PERIPHERAL_USED */
/**
* @}
*/