埃斯提爱慕
发布时间:2024-5-24 18:46
|
```! n) `. v6 M$ R9 H+ M # U083Necule TRNG- [$ b: k7 U- y4 ~ ## 通过CubeMX创建工程) D# h8 q1 ?! r
8 X; x) A! Q2 C& g% `/ V, ]



" b/ n4 ?* q. V* o3 g: X
4 D8 ~3 N" S6 ]# i: z
6 H2 t# r- g9 S) e0 C8 Z ## 生成代码,直接编译下载运行+ P" y' p, `( R5 y$ O* k3 |+ n4 w 
$ m4 O, U0 } ^% K6 T ## 看不懂,直接OK吧。 - Q5 j5 a* ]& O" p' |0 ?( Y
, z6 Y4 @! A6 c1 C" {+ P ## 运行OK,串口调试会收到Welcome to STM32 world ! }# ~' Q) V, ?4 e. {% H7 H9 U 这是Demo里自带的 - R: _8 b \, n) I* S( K v. |  N5 F. W1 M* f& m: E
, c2 p$ h, Q- M& Q ## 只要调用这个函数 
' B& P& H; \) m8 x, Z' t/ i& ] ## 在原按键程序里,添加两行代码,即可实现2 [+ l. d. ` {* y- v9 r if (BspButtonState == BUTTON_PRESSED) {* |- _1 D4 U7 L! g! ^' Q /* Update button state */ BspButtonState = BUTTON_RELEASED;6 D% X3 d/ v8 ~: n /* -- Sample board code to toggle leds ---- */# k7 v6 J- J. i( \' q1 _ C, D& L BSP_LED_Toggle(LED_GREEN); /* ..... Perform your action ..... */1 f* ~ `6 i0 G0 ^: W . W$ V$ y! e2 n* o' o5 R HAL_RNG_GenerateRandomNumber(&hrng, &Trng);$ ^+ s1 q) a! D4 b6 M8 d 4 Y6 Y8 g' }& c2 a# p: j printf("The random number is: %d !\n\r", Trng); } ) h8 p) S" r! s6 Z 
## 至此,一个简单的随机数生成并打印功能实现。# C" H: z; [; b1 q- t4 S) R- ] ## 接下来修改为中断方式,回到cubeMX,使能中断 3 Z' V+ k4 Z* o h8 A, ^ x& \1 Q
## 修改程序7 G: U$ s( J; I2 W9 n if (BspButtonState == BUTTON_PRESSED)2 H2 r( |/ O2 ? { /* Update button state */ BspButtonState = BUTTON_RELEASED; /* -- Sample board code to toggle leds ---- */3 |- r8 g, W3 ~! o& w3 h BSP_LED_Toggle(LED_GREEN); /* ..... Perform your action ..... */ 8 p* B- z" ^4 c; X/ e- r HAL_RNG_GenerateRandomNumber_IT(&hrng); 9 Q b& Z2 z# m5 `0 w6 m } ## 添加回调函数, ?/ Y( q2 a0 i% ? void HAL_RNG_ReadyDataCallback(RNG_HandleTypeDef *hrng, uint32_t random32bit)/ Z1 g p2 ~: ^, t- Y { printf("The random number is: %d !\n\r", random32bit); } # i! \) W6 T/ ^5 P/ e ## 编译运行. n6 F# X5 T: B- r! v# ? 9 q& E5 I+ J. `& P/ ] 
## 中断方式也实现。1 m3 U* o. T Z' H- [ ```: l' C; P, ?. m0 G1 M, d " m# T ]0 h2 M6 m4 w |
【下载问题解决】关于ST官网下载软件问题解决
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
《MCUBoot课程》学习笔记+从信任链原理到量产实践
STM32CubeIDE 2.2.0新版本发布
CubeMX生成CubeIDE工程代码乱码
【stm32U3测评】使用FDCAN进行IAP升级----【2】FDCAN的Classic模式通信
STM32CubeIDE实时时钟(RTC)经验分享
实战经验 | ClassB功能安全认证代码与应用代码分区的实现要点
【STM32U3 评测】人体行为识别
微信公众号
手机版