|
随机数是我们编程中非常常用的一项技术,在我们的生活中应用场景十分广泛,例如密码学中对密码的加密,在模拟信号中用来模拟随机事件的出现。 例如我们在之前的使用NanoEdge中测试的数据模拟正弦波的时候就出现了数据太过于精确而不像一个模拟信号的样子。 因此使用随机数可以在模拟仿真领域中起到非常重要的作用。
在STM32参考手册(F4系列)中提到了STM32中具有一个随机数发生器(RNG)读取其可以获得一个32位的随机数。
随机数发生器RNG采用模拟电路实现,同样具备着异常检测的功能。接着手册的后续部分讲述了如何操作寄存器中操作实现RNG,但是由于我们使用HAL库编程代码,因此我们直接跳到HAL库的部分。
在CubeMX中我们需要使能RNG功能。 之后创建我们的工程。 我们可以使用HAL_RNG_GetRandomNumber来获取随机数
需要注意的是,这里生成的随机数是32位的,因此我们可以利用一些简单的计算来获取我们需要的随机数。
我们对其进行取余,即可获得0~9之间的随机数。
初次之外,我们可以利用这个随机数来模拟噪声信号。
我们在原始信号之上添加一个噪声信号,这个噪声信号的产生就由我们的随机数发生器产生。 转载自:电路小白 如有侵权请联系删除 |
STM32串口自动识别波特率的原理
STM32应用过程中与电源相关的案例分享
【经验分享】STM32F4 CAN2只能发送无法接收问题解决
F429I-DISC1体验报告(3) 画板线条绘制和调色功能的实现丨国庆开发板测评活动
F429I-DISC1体验报告(2) 按钮和弹窗GUI的简单交互设计丨国庆开发板测评活动
STM32固件库分享,超全系列整理
STM32系列芯片之间相互移植注意事项
使用 U 盘更新 STM32F4DISCOVERY 板固件
STM32如何成为现代科技的隐形引擎
STM32--STM32 微控制器详解
微信公众号
手机版