#include "stm32f4xx.h" #include "base.h" #include "random.h" static int g_inited=0; void RANDOM_Init (void) { if(g_inited==0) { RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_RNG, ENABLE); RNG_Cmd(ENABLE); RANDOM_Get(); g_inited=1; } } u32 RANDOM_Get (void) { if (RNG->CR & RNG_CR_RNGEN) { while (RNG_GetFlagStatus(RNG_FLAG_DRDY)!=SET); return RNG_GetRandomNumber(); } else return 0; }