|
我想使用rand () 函数产生随机数。但每次程序运行,生成的随机数都是相同的。 我调试下面这段代码时,变量 W 每次调试都按照完全一样的规律变化。 请问如何才能生成不依赖固定顺序的真随机数? / USER CODE BEGIN 0 / double uniform_rand() { return (double)rand() / ((double)RAND_MAX + 1); } / USER CODE END 0 / int main(void) { / USER CODE BEGIN 2 / srand(time(NULL)); / USER CODE END 2 / while (1) { W = uniform_rand(); } } |
STM32L4A6 SDMMC 无法使用 1.8V IO 驱动 microSD 卡
STM32L4P5xx 系统内 Bootloader:RAM3 能否用作栈指针内存?
在 STM32CubeIDE 中生成 ioc 配置文件
CAN 总线多节点环境下进行固件升级
在 Bootloader 运行期间保持 GPIO 引脚电平状态不变
把 MCO1 时钟源选为 PLLCLK会怎样
I2C 错误代码含义
CubeIDE 下载程序时不整片擦除芯片
在编译C++ STM32项目时,如何将.hpp文件扩展名与合并了头文件声明和源文件定义的模板
sscanf 函数无法正确读取浮点值
微信公众号
手机版
你可以使用带RNG外设的随机数发生器,不要使用C语言的Rand函数,它是伪随机数。
其实我一直想的是,这玩意儿为啥就不能做成和printf一样的重定向,将C语言的rand函数重定向到rng外设中。
试试先开启片内RTC,然后用当前的秒数做随机数的“种子”,这样随机数就会更“随机”了。
需要先提供随机数种子