你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【NUCLEO-U083RC评测】随机数生成并打印显示

[复制链接]
埃斯提爱慕 发布时间:2024-5-24 18:46
```
# U083Necule TRNG
## 通过CubeMX创建工程

image.png
![alt text](image-1.png)
image-1.png
![alt text](image-2.png)
image-2.png
![alt text](image-3.png)
image-3.png
![alt text](image-4.png)
image-4.png
![alt text](image-5.png)
image-5.png
![alt text](image-6.png)
image-6.png

## 生成代码,直接编译下载运行
![alt text](image-8.png)
image-8.png


## 看不懂,直接OK吧。
![alt text](image-7.png)
image-7.png

## 运行OK,串口调试会收到Welcome to STM32 world !
    这是Demo里自带的

![alt text](image-9.png)
image-9.png

## 只要调用这个函数
![alt text](image-10.png)
image-10.png

## 在原按键程序里,添加两行代码,即可实现

    if (BspButtonState == BUTTON_PRESSED)
    {
      /* Update button state */
      BspButtonState = BUTTON_RELEASED;
      /* -- Sample board code to toggle leds ---- */
      BSP_LED_Toggle(LED_GREEN);
      /* ..... Perform your action ..... */

      HAL_RNG_GenerateRandomNumber(&hrng, &Trng);

      printf("The random number is: %d !\n\r", Trng);
    }

![alt text](image-11.png)
image-11.png

## 至此,一个简单的随机数生成并打印功能实现。

## 接下来修改为中断方式,回到cubeMX,使能中断
![alt text](image-12.png)
image-12.png

## 修改程序

    if (BspButtonState == BUTTON_PRESSED)
    {
      /* Update button state */
      BspButtonState = BUTTON_RELEASED;
      /* -- Sample board code to toggle leds ---- */
      BSP_LED_Toggle(LED_GREEN);
      /* ..... Perform your action ..... */

      HAL_RNG_GenerateRandomNumber_IT(&hrng);


    }

## 添加回调函数

void HAL_RNG_ReadyDataCallback(RNG_HandleTypeDef *hrng, uint32_t random32bit)
{
        printf("The random number is: %d !\n\r", random32bit);
}

## 编译运行

![alt text](image-13.png)
image-13.png

## 中断方式也实现。
```

收藏 评论0 发布时间:2024-5-24 18:46

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版