|
|
|
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;
}
|
|