NFC52832内部具有随机数产生器,使用起来非常方便,只有几个寄存器,可以看下图:
每次需要使用随机数的时候只需要启动一次产生器就行了,直接上代码吧:
uint8_t GET_RNG(void)
{
uint8_t value;
NRF_RNG->CONFIG=1;
NRF_RNG->TASKS_START=1;
NRF_RNG->EVENTS_VALRDY=0;
while(NRF_RNG->EVENTS_VALRDY==0){}
value=NRF_RNG->VALUE;
NRF_RNG->TASKS_STOP=1;
NRF_RNG->INTENCLR=0;
NRF_RNG->CONFIG=0;
return value;
}