|
STM32F4的隨機(jī)數(shù)發(fā)生器RNG,以環(huán)境噪聲為種子,產(chǎn)生32位隨機(jī)數(shù)供主機(jī)使用。 特性 1、產(chǎn)生32位隨機(jī)數(shù)
2、兩次轉(zhuǎn)換時(shí)間間隔40PLL48CLK
3、隨機(jī)數(shù)熵檢測(cè)以發(fā)現(xiàn)不正常位,以產(chǎn)生穩(wěn)定序列
4、可被關(guān)閉以省電
代碼:隨機(jī)數(shù)產(chǎn)生器代碼部分較為簡(jiǎn)單 RNG只有三個(gè)寄存器CR、SR和DR。配置信息寫在CR,狀態(tài)信息可從SR讀取,產(chǎn)生的隨機(jī)數(shù)存放在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;
}
|
|