一、参数配置
1、配置RCC、SYS、USART1、时钟84MHz
2、打开RNG
3、生成代码
二、代码编写
1、初始化
__HAL_RCC_RNG_CLK_ENABLE();//使能RNG时钟
__HAL_RNG_GET_FLAG(&hrng,RNG_FLAG_DRDY);//读取RNG_SR寄存器DRDY位状态
2、代码编写
//返回值:获取到的随机数
uint32_t RNG_Get_RandomNum(void)
{
return HAL_RNG_GetRandomNumber(&hrng);
}
//生成[min,max]范围的随机数
int RNG_Get_RandomRange(int min,int max)
{
return HAL_RNG_GetRandomNumber(&hrng)%(max-min+1) +min;
}