埃斯提爱慕
发布时间:2024-5-24 18:46
|
``` # U083Necule TRNG ## 通过CubeMX创建工程0 P. `2 B' J2 Q" V" i( I% j

) W6 { C" i2 x+ P1 y3 U$ t, N% p
 f6 I# X) F4 `6 K! R8 P8 e

. U* L" P- S# z7 a! `( c
. \8 A1 R% M8 ]$ T. E1 g: D# x) ~
+ h$ ^! X1 d4 z/ T2 y( s- i ## 生成代码,直接编译下载运行 & G% Q) r& Z* X" W! ?" T% d
0 i, D4 R0 T0 R( {. j3 A 0 g; d9 @! U/ c) w8 E, l, y ## 看不懂,直接OK吧。3 L& l& u' y+ R2 A6 \; M S! b2 x + }6 h2 W( a2 r0 k2 {5 z0 }, r7 ^
6 d3 c* {) K# D. B+ m ## 运行OK,串口调试会收到Welcome to STM32 world !' y6 w! ^! X! ~: g7 m 这是Demo里自带的 ) ?% `8 {& ]8 M) v 
## 只要调用这个函数 
- a2 E- \4 Y1 l& @ ## 在原按键程序里,添加两行代码,即可实现 4 w0 I% J% n7 C# F# c) z if (BspButtonState == BUTTON_PRESSED)1 ^# Y, s) [% u; ]7 _) H {, N, ]! Z, O* z& R1 C* e0 | /* Update button state */' r( G. T0 j6 G1 F* v7 h1 } BspButtonState = BUTTON_RELEASED; /* -- Sample board code to toggle leds ---- */. r! X# \1 j. b9 \7 u& m8 i/ A BSP_LED_Toggle(LED_GREEN); /* ..... Perform your action ..... */ HAL_RNG_GenerateRandomNumber(&hrng, &Trng); printf("The random number is: %d !\n\r", Trng);3 ]) @! M {2 w2 A8 f+ q% L6 q, \ } , U+ ]0 w2 C. L$ F+ d; F 
## 至此,一个简单的随机数生成并打印功能实现。 ## 接下来修改为中断方式,回到cubeMX,使能中断! A S' E1 o* x, H& G! f% t 
* t4 s# }/ o% H' K6 l, s ## 修改程序0 F- I. m( `0 K' s3 {+ }8 G1 D if (BspButtonState == BUTTON_PRESSED)- L, G9 Z. L9 b, }& l$ s) @ {8 U, Z9 n/ M9 C0 o8 g. Y /* Update button state *// S5 h' U/ ~4 M6 I BspButtonState = BUTTON_RELEASED;* U6 H* Q; B. @+ }2 O /* -- Sample board code to toggle leds ---- */. N: Q1 m$ M2 v. A9 u3 y$ e" n7 d BSP_LED_Toggle(LED_GREEN);) \0 s! t$ m+ D /* ..... Perform your action ..... */ 6 I, ]2 t t; w" r3 i' ]% e HAL_RNG_GenerateRandomNumber_IT(&hrng); } 6 F$ I4 n+ V" U% x3 J ## 添加回调函数 - z8 |& a+ ^$ X, e( s2 I" D$ y void HAL_RNG_ReadyDataCallback(RNG_HandleTypeDef *hrng, uint32_t random32bit)1 @8 T) Y0 S% c K* | { printf("The random number is: %d !\n\r", random32bit); }0 K0 h# Y# {# ?5 } ## 编译运行 
2 b# D: C* D2 u/ f) g2 \1 W$ h' t N ## 中断方式也实现。 ``` # A; t f; w( Y |
【下载问题解决】关于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 评测】人体行为识别
微信公众号
手机版