埃斯提爱慕
发布时间:2024-5-24 18:46
|
```9 P l. q0 F. N2 K* K # U083Necule TRNG. W5 O; U: P! u/ p' W5 ^3 V ## 通过CubeMX创建工程 / k) m+ E. s$ L' l3 |
+ L, Q/ c( @2 q* z1 ^) ]
1 H- w" _! M+ h2 X! E

4 i# q0 T8 y" a6 x
) n7 i4 m) B3 _* X' z
' _+ \1 ]) E, W! p' w
## 生成代码,直接编译下载运行 
## 看不懂,直接OK吧。 
## 运行OK,串口调试会收到Welcome to STM32 world !9 d# Q5 ^2 {3 u: u4 Y/ S 这是Demo里自带的! n* X: k. R1 v# Z. E* V- K( d, O) v6 ?1 U 
1 G, `8 j* p, r4 \- O ## 只要调用这个函数; v* W' L5 x- Q+ |9 `0 j! W ; U1 Z: G6 c- ^0 F
## 在原按键程序里,添加两行代码,即可实现0 H b2 _) y7 }: x$ a# [. _ if (BspButtonState == BUTTON_PRESSED)7 u; t; T7 x" R$ Q# F7 J9 K- E {) n, F0 t+ f5 L /* Update button state */ BspButtonState = BUTTON_RELEASED; /* -- Sample board code to toggle leds ---- */) K$ w& s$ [- M7 v0 K ?5 P BSP_LED_Toggle(LED_GREEN);7 m5 A3 E- v- ?7 E9 V8 D% T' n, S /* ..... Perform your action ..... */ HAL_RNG_GenerateRandomNumber(&hrng, &Trng); : o, g8 Y! d9 z( l, V+ b printf("The random number is: %d !\n\r", Trng);9 h$ @' N5 ~1 x# f1 Q' Y8 O' L }1 l5 Z" O3 Y) v% m- }9 ]" m # }6 {! ^/ _4 h$ w 
" m! m( {% b( u3 L; G/ y ## 至此,一个简单的随机数生成并打印功能实现。0 c# [. E1 D. c ( k8 ]8 o2 z( q: J- | ## 接下来修改为中断方式,回到cubeMX,使能中断 ; j7 U) Z* h% p3 N( e
! {8 ?# K( F" I- [ ## 修改程序 0 I' ~/ V5 ?( z- r4 e6 R: e. c if (BspButtonState == BUTTON_PRESSED) {# J! N% [. `! d- w0 t" n /* Update button state */% R q$ ?. g: B, b: r" ] BspButtonState = BUTTON_RELEASED;/ T- R& f3 j# |4 Z- r( Z /* -- Sample board code to toggle leds ---- */ BSP_LED_Toggle(LED_GREEN);' B; V8 ]7 \# s. B, a /* ..... Perform your action ..... */7 \0 ?/ H% ]0 X! M/ H3 q0 F' l HAL_RNG_GenerateRandomNumber_IT(&hrng);+ |2 {, f* L8 ?" f0 |- L" S 9 d& A4 o2 f0 A( R 4 z3 F3 P( a7 A4 S3 v2 ]- j0 r) C } ## 添加回调函数 ; V r; k; T- f2 i! G& G void HAL_RNG_ReadyDataCallback(RNG_HandleTypeDef *hrng, uint32_t random32bit)+ b9 n: h& V$ M7 s { printf("The random number is: %d !\n\r", random32bit); }! {0 V" c, y3 g5 T& _# \2 B" W# T/ w . a9 y5 T6 G- R* G ## 编译运行 7 I1 L n$ l' B7 p' C
3 c! _, n) G% C' _' r0 i5 ^ ## 中断方式也实现。1 w1 X7 s+ W; ~, ]; S2 K z ``` ' V4 G5 ?* s# p+ Y |
【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课程》学习笔记+从信任链原理到量产实践
微信公众号
手机版