埃斯提爱慕
发布时间:2024-5-24 18:46
|
``` # U083Necule TRNG3 M0 [7 u& x' t2 g9 I Q8 R ## 通过CubeMX创建工程 Y7 J! @( j* A + ?( L% V( c0 g& b



3 {) K, X* b+ Q( i% N+ ]
/ s# L- Z6 {4 g6 W' |+ s/ f% k

## 生成代码,直接编译下载运行8 j, m, P M1 Q V/ t + h( B: G1 K6 v7 f" H! }- M& @
L. Z$ @7 E: k1 a" d. d. X ## 看不懂,直接OK吧。 
## 运行OK,串口调试会收到Welcome to STM32 world ! 这是Demo里自带的+ q: i- }5 E: [2 ^ % e p$ U3 d" h) X' y
4 w' k2 }, Y: O1 |0 F$ k9 M ## 只要调用这个函数 
## 在原按键程序里,添加两行代码,即可实现 if (BspButtonState == BUTTON_PRESSED)& U3 d: q0 C+ ]# Q4 B0 R- i {6 M& }9 @; u \" v( o3 v /* Update button state */( w5 c* V, l5 I& y+ Z( Z5 ~& t BspButtonState = BUTTON_RELEASED;% K" O% m' o- ]3 z1 r" a /* -- Sample board code to toggle leds ---- */: }% Z- c6 a1 W! c8 x BSP_LED_Toggle(LED_GREEN);! `' q5 Z$ A0 _' `5 M /* ..... Perform your action ..... */8 f5 ?1 s& y) @3 B 0 W# X9 l% z- r( L3 { HAL_RNG_GenerateRandomNumber(&hrng, &Trng); N( H* E% J' Z2 o& X9 q4 r 6 N; t3 y: A5 w+ v+ } printf("The random number is: %d !\n\r", Trng); }) b: z. v6 H6 S2 P 
; R8 w7 G0 }8 l6 [3 {, v) i ## 至此,一个简单的随机数生成并打印功能实现。 . D& d F9 h- l. M+ \ ## 接下来修改为中断方式,回到cubeMX,使能中断 
# G6 D- M9 A7 {% Q2 @ ## 修改程序5 ]! U6 c1 M$ E( Q$ x3 I: O if (BspButtonState == BUTTON_PRESSED)2 P- R0 H& Q% j5 x* F, E {5 g, z6 J% m5 S" M7 \9 o: l* ~! x /* Update button state */ BspButtonState = BUTTON_RELEASED;* n: O6 ?8 B, x5 | /* -- Sample board code to toggle leds ---- */ BSP_LED_Toggle(LED_GREEN); /* ..... Perform your action ..... */ `' L! \* Y0 M- M. b2 ?7 g6 O' K9 _ HAL_RNG_GenerateRandomNumber_IT(&hrng);' S- E4 f& ~6 ?" J- ~ % t( H) Z! P! F- t }# Q& B% p1 v0 f8 E ## 添加回调函数 3 O/ A* |0 X+ S9 V: D5 o4 a, Z void HAL_RNG_ReadyDataCallback(RNG_HandleTypeDef *hrng, uint32_t random32bit) { printf("The random number is: %d !\n\r", random32bit);6 W0 y3 I4 l! _0 O } X4 W5 H1 o; N% ^3 i7 n* g& P ## 编译运行 " A5 F$ K; M+ {3 e$ B" C 6 {4 D( F( I5 A
# H, a2 v( M" E7 Q, y) E% [4 P' E ## 中断方式也实现。 ``` ! {+ M- i' ^$ u, K2 c |
【下载问题解决】关于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 评测】人体行为识别
微信公众号
手机版