``` # U083Necule TRNG1 H& ]* z$ P4 | ## 通过CubeMX创建工程 ![alt text](image-1.png) ![alt text](image-2.png), [: E2 {! E. Z, _ ![alt text](image-3.png)- f: [( l, A |- i. l h ![alt text](image-4.png) ![alt text](image-5.png)8 ?2 x) R$ ?1 g" B" T' T ![alt text](image-6.png)( u3 o2 L5 k/ f ## 生成代码,直接编译下载运行8 M- @) i- g+ a4 O. P ![alt text](image-8.png)/ w4 q4 J# S, i, V) M# B 8 l. N- Q/ y8 T% p7 F ## 看不懂,直接OK吧。 ![alt text](image-7.png) 6 \7 ]+ c7 }1 g( Z3 [ ## 运行OK,串口调试会收到Welcome to STM32 world ! 这是Demo里自带的 8 ^) s; ^1 l ~6 @ ![alt text](image-9.png)5 F& P: I2 g. V T: z1 g ## 只要调用这个函数/ y9 W4 u' M! k! E* i$ C ![alt text](image-10.png) ## 在原按键程序里,添加两行代码,即可实现6 u$ w! q) l/ L3 w' |4 w+ z ' V2 |3 W$ D! N9 e8 _* g6 Y if (BspButtonState == BUTTON_PRESSED) { /* Update button state */7 k, e: ]1 z. c! ~ \ BspButtonState = BUTTON_RELEASED;8 H) K" ^, k1 O' A5 p# y. x /* -- Sample board code to toggle leds ---- */8 P W5 g6 ]9 a* t/ k BSP_LED_Toggle(LED_GREEN);, N1 s0 f q. Y8 k% }+ _ /* ..... Perform your action ..... */$ g# U9 D$ b: m; l M 0 |( i! s3 I9 Z HAL_RNG_GenerateRandomNumber(&hrng, &Trng);) E; X; ~4 n! g1 ~- e; A printf("The random number is: %d !\n\r", Trng);+ C/ w! @3 { h$ A$ t1 d }8 g8 U1 K" |4 T& T+ I/ j. @ a/ W! b, O $ Q3 o2 y: t# `0 o$ w ![alt text](image-11.png) T) T1 r: {/ G ## 至此,一个简单的随机数生成并打印功能实现。 ( `" [' f' @ F( d2 p5 T ## 接下来修改为中断方式,回到cubeMX,使能中断 ![alt text](image-12.png) 9 V/ I4 u8 ^! {' f" q+ ? ## 修改程序 if (BspButtonState == BUTTON_PRESSED)4 G, H8 Y" M% i { /* Update button state */ BspButtonState = BUTTON_RELEASED;) |3 _4 O q h8 _, o" M) t9 k; h /* -- Sample board code to toggle leds ---- */- O3 \- f+ C& P$ b5 o8 ? BSP_LED_Toggle(LED_GREEN);6 B- S6 }( f3 R4 @ /* ..... Perform your action ..... */( ]! `8 F5 r0 q% U 8 S4 ^/ ]/ b) J4 x! g& S7 n HAL_RNG_GenerateRandomNumber_IT(&hrng); y6 p7 @& c) K( [# Q 4 K& P5 s. x3 j9 G- N }8 t+ T9 a( [# Z R7 T ! h( ^* V$ L; s( r5 K3 @ ## 添加回调函数 void HAL_RNG_ReadyDataCallback(RNG_HandleTypeDef *hrng, uint32_t random32bit) {4 Z: W( j4 \. K" X printf("The random number is: %d !\n\r", random32bit);/ y: G' v' I" H8 J% V( y }* C6 K7 A4 y J1 O6 a ## 编译运行1 w# p4 r$ q5 y- R. l& r + Q# q# d K, W' D7 w3 ~$ ? ![alt text](image-13.png)" t; x8 D3 ?+ u; \6 T; N ## 中断方式也实现。 ``` |
STM32CubeIDE 1.3.0 汉化方法
【STM32H7S78-DK评测】XIP模板问题处理与电机控制
打卡学习 | 《STM32U0线上课程》上线!
【STM32H7S78-DK评测】开发板初识与工程模板创建
【STM32H7S78-DK评测】板载资源初识及工程模块创建
STM32 Explore | STM32Cube生态系统线下培训
STM32CubeIDE 实用技巧之仿真带外扩 FLASH 的工程
【NUCLEO-U083RC评测】驱动OLED模组显示
【NUCLEO-U083RC评测】ULP uart 定时器测评
【NUCLEO-U083RC评测】MSI功耗测评