```- R* P4 R6 `& j # U083Necule TRNG ## 通过CubeMX创建工程 ( b$ ]; O7 }- y ![alt text](image-1.png) ![alt text](image-2.png) ![alt text](image-3.png)- u8 C4 \2 a" a ![alt text](image-4.png)+ \( q+ k, i4 }5 D% J$ H ![alt text](image-5.png) ![alt text](image-6.png) & e/ j- b# a8 s. }* }4 j/ v0 z: B; } ## 生成代码,直接编译下载运行* l5 c8 Z; x& k2 s- w2 C! q ![alt text](image-8.png) ## 看不懂,直接OK吧。 ![alt text](image-7.png) ## 运行OK,串口调试会收到Welcome to STM32 world ! 这是Demo里自带的8 U8 q W' p1 m0 n4 j ![alt text](image-9.png)6 O: |& @$ [/ |" V. I2 A8 x 8 o. S& F% M1 ` ## 只要调用这个函数 ![alt text](image-10.png) C. j) Z. ]9 k9 Z7 Z ## 在原按键程序里,添加两行代码,即可实现) X6 ~; J' w4 J6 j if (BspButtonState == BUTTON_PRESSED) {1 @+ T! W6 b/ Q1 h, w /* Update button state *// g0 K; N3 \$ ? BspButtonState = BUTTON_RELEASED;7 H) p) h" P9 Q* B3 p4 |9 ~& L5 _ /* -- Sample board code to toggle leds ---- */ BSP_LED_Toggle(LED_GREEN);- p# E- i3 k' G$ d# r7 p /* ..... Perform your action ..... */ 7 K' v2 T$ T* q+ O HAL_RNG_GenerateRandomNumber(&hrng, &Trng);. q8 d+ T9 }0 `- F8 k ! f% F( ^( i2 @% j) L printf("The random number is: %d !\n\r", Trng);6 u) l" { k2 f& P2 h: I, t } ![alt text](image-11.png) ## 至此,一个简单的随机数生成并打印功能实现。* ~3 J$ L! Z4 a' Q9 J ## 接下来修改为中断方式,回到cubeMX,使能中断+ ]' H# ?+ n3 o6 [8 Y- E ![alt text](image-12.png) ## 修改程序 8 B) F a/ U0 @3 Z, ~ if (BspButtonState == BUTTON_PRESSED) {$ A5 E3 O4 V9 Z/ X1 P2 D4 t /* Update button state */( V+ [4 K) O( J. d BspButtonState = BUTTON_RELEASED;: j9 u' V9 D4 [2 z /* -- Sample board code to toggle leds ---- */, a$ y( E4 ~, {3 g+ @7 W" ` BSP_LED_Toggle(LED_GREEN);: `; P, n! k: i1 z# M /* ..... Perform your action ..... */' ~% ]; A% H+ S$ E ' A, G0 T+ C9 Q/ m HAL_RNG_GenerateRandomNumber_IT(&hrng); 0 U. f3 X0 z4 d4 ~7 g# b2 N" v } n" D% A: P Z " @# X$ y1 G5 E6 |0 Z ## 添加回调函数 % O. [/ m: \" Q: n5 }0 m$ | void HAL_RNG_ReadyDataCallback(RNG_HandleTypeDef *hrng, uint32_t random32bit) {, k5 e, w0 T% ]$ Z9 e9 w# F printf("The random number is: %d !\n\r", random32bit); } ## 编译运行 ![alt text](image-13.png)& [( f! F+ k" L% M: E! W/ O ## 中断方式也实现。- c" S& o! p) Y& F) v# X( o* | ```6 D' W( A3 i( F |
STM32CubeIDE 快速入门指南
有奖直播 | 解析STM32U0 新一代超低功耗入门级MCU
行业应用篇 | STM32U0为水气表提供降本增效新思路
【NUCLEO-WB09KE评测】BLE创建服务和写特征控制LED
基于STM32CubeIDE+MPU6050做的动量轮平衡自行车(一)
【NUCLEO-WB09KE评测】使用I2C点亮一个OLED
【NUCLEO-WB09KE评测】USART的printf和GPIO的使用
STM32CubeIDE 1.3.0 汉化方法
【STM32H7S78-DK评测】XIP模板问题处理与电机控制
打卡学习 | 《STM32U0线上课程》上线!