埃斯提爱慕
发布时间:2024-5-24 18:46
|
```$ _" ]: `* b1 v # U083Necule TRNG/ e2 g" b9 R4 J) N ## 通过CubeMX创建工程" ^! `% m' q4 J 5 D) l8 m. R P1 J, e
& L- H& Z% E/ M

. i( l: s( E0 ]" ^$ D3 h( G
9 l4 O8 Y5 x* s9 ?2 \
1 ]) `/ f* y2 n
# @. g, L% M8 g/ f
## 生成代码,直接编译下载运行 
" `) `; a( X& S, v% G5 H2 J6 |8 O $ Q6 Q4 @1 Y' V! h) N! P; V, X ## 看不懂,直接OK吧。4 R, s+ P4 S7 Y% x 
## 运行OK,串口调试会收到Welcome to STM32 world ! 这是Demo里自带的6 _# Y: p( N) N" Y$ O9 B8 F 
## 只要调用这个函数1 |: }2 J9 q1 T! Q2 a 9 x( o8 O! ]8 q/ l4 T3 S. k
- w" F- L! K F' C9 B ## 在原按键程序里,添加两行代码,即可实现9 ~: y- k7 W9 r' g N4 t, q if (BspButtonState == BUTTON_PRESSED) { /* Update button state */ o B t& c7 O4 e3 m4 x ] BspButtonState = BUTTON_RELEASED;5 E, n8 A, _6 d8 L0 P1 Z /* -- Sample board code to toggle leds ---- */ BSP_LED_Toggle(LED_GREEN); /* ..... Perform your action ..... */7 l: d; h+ V% F _' I HAL_RNG_GenerateRandomNumber(&hrng, &Trng);/ q/ T: U c2 E7 v4 v3 {+ I1 c. c printf("The random number is: %d !\n\r", Trng); } L0 Q# q" P9 k+ R: p " {% u; X0 r2 o: i. K* Z 
## 至此,一个简单的随机数生成并打印功能实现。, w: P3 O* j: i; a ## 接下来修改为中断方式,回到cubeMX,使能中断 
## 修改程序 ( [0 O' o+ j$ x3 J if (BspButtonState == BUTTON_PRESSED) { /* Update button state */5 j; z5 W4 }9 `0 f BspButtonState = BUTTON_RELEASED; /* -- Sample board code to toggle leds ---- */ BSP_LED_Toggle(LED_GREEN);. z$ f6 i# R3 H- Q | /* ..... Perform your action ..... *// k4 {; Q C5 f$ j HAL_RNG_GenerateRandomNumber_IT(&hrng); 6 [5 a# A- `( Y% ] `. V }7 q* B5 n) W4 f4 w# X: _ ' o; T' F, ?4 s/ i" o1 l ## 添加回调函数8 z% G2 `/ h/ b* m: g% u ~6 A/ k6 T) r% D8 Z# Y4 w void HAL_RNG_ReadyDataCallback(RNG_HandleTypeDef *hrng, uint32_t random32bit) {7 }# Y6 d6 H3 }( h printf("The random number is: %d !\n\r", random32bit);$ j; A0 _& H _1 k/ U& ~" E& P } 7 q. V4 E- T/ r ## 编译运行 5 x# _0 D: I3 I: P) f* f0 v 
" ]+ b! s2 I, N; T. ]- |. {) Y ## 中断方式也实现。8 W% s3 o* r/ l ``` 3 a- U a( O5 g# c! _$ f$ p% j |
【STM32H5 评测】基础硬件加密与随机数性能 - STM32H5E5实测硬件AES加解密、HASH运算、TRNG真随机数输出速率与稳定性
【STM32H5 评测】内存读写性能 - STM32H5E5实测Flash,SRAM读写速度,用DMA搬运大块数据
【STM32H5 评测】CPU核心性能 - STM32H5E5跑 RTOS,观察任务切换速度、中断响应快慢
【NUCLEO-C562RE】OLED 显示
保姆级教程:CMake 工程导入 STM32CubeIDE 步骤
STM32CubeCLT 1.22.0新版本发布
【下载问题解决】关于ST官网下载软件问题解决
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
《MCUBoot课程》学习笔记+从信任链原理到量产实践
微信公众号
手机版