硬件随机数发生器(RNG),RNG 处理器是一个以连续模拟噪声为基础
的随机数发生器,在主机读数时提供一个 32 位的随机数
Cubemx配置
只需要勾选上RNG
CUBEIDE代码
/* @brief rng 测试
*/
void app_user_task_rng(void)
{
uint32_t random=0;
app_led_control(LED_G,1);
HAL_Delay(500);
app_led_control(LED_G,0);
HAL_Delay(500);
Display_ALIENTEK_LOGO(0, 0); /* 显示图片 */
random = HAL_RNG_GetRandomNumber(&hrng); /* 获取 RNG 范围 */
LCD_ShowString(30, 195, 200, 16, 16, "Random Num:");
LCD_ShowNum(30 + 8 * 11, 195, random, 10, 16); /* LCD显示 获取 RNG */
usb_printf("Random Num:\n\r");
usb_printf("%d \n\r ",random); /* 打印 RNG */
random = HAL_RNG_GetRandomNumber(&hrng) % (9 - 0 + 1) + 0; /* 从0-9获取随机值 */
LCD_ShowString(30, 215, 200, 16, 16, "Random Num[0-9]:");
LCD_ShowNum(30 + 8 * 16, 215, random, 1, 16);/* LCD显示 RNG 随机值 */
usb_printf("Random Num[0-9]:\n\r");
usb_printf("%d \n\r",random);/* 打印 RNG*/
}