STM32F4 随机数发生器RNG【使用库函数】

STM32F4的随机数发生器RNG,以环境噪声为种子,产生32位随机数供主机使用。

【主要特性】

1、产生32位随机数  2、两次转换时间间隔40PLL48CLK   3、随机数熵检测以发现不正常位,以产生稳定序列  3、可被关闭以省电

【实验过程】

产生一个随机数,编译器跟踪查看随机数

【代码实现】

RNG只有三个寄存器CR、SR和DR。配置信息写在CR,状态信息可从SR读取,产生的随机数存放在DR中。

首先,使能RNG时钟

RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_RNG,ENABLE);

然后,启动RNG

RNG_Cmd(ENABLE);

最后等待随机数产生完毕标志,读数即可

while(RNG_GetFlagStatus(RNG_FLAG_DRDY) == RESET);  //等待随机数准备完毕
data = RNG_GetRandomNumber();   //读数

原文地址:https://www.cnblogs.com/zyqgold/p/3106284.html