|
STM32F4的随机数发生器RNG,以环境噪声为种子,产生32位随机数供主机使用。 特性 1、产生32位随机数
2、两次转换时间间隔40PLL48CLK
3、随机数熵检测以发现不正常位,以产生稳定序列
4、可被关闭以省电
代码:随机数产生器代码部分较为简单 RNG只有三个寄存器CR、SR和DR。配置信息写在CR,状态信息可从SR读取,产生的随机数存放在DR中。
void RNG_Init(void)
{
RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_RNG,ENABLE);
RNG_ITConfig(DISABLE);
RNG_Cmd(ENABLE);
while(RNG_GetFlagStatus(RNG_FLAG_DRDY) ==RESET);
}
int RNG_Generate(int y)
{
intx;
x=(RNG->DR) % y;
returnx;
}
|
|