stm32生成随机数
1、srand( )函数srand()的头文件stdlib.h中的一个随机数发生函数,该函数需要向其提供一个起始点,以便它能够生成一系列不同的随机数。srand()函数会在生成随机数之前调整生成随机数所用的种子。这个种子可以通过调用srand()函数明确地提供,如果不明确地提供,srand()函数则使用当前时间作为种子。
srand()函数的用法比较简单,只需要提供一个种子即可。一般情况下,我们使用当前时间作为种子,以获得较随机的数字序列。
srand(100);
2、srand( )函数和rand()
这两个函数需要配合使用,单独使用rand()会出现0或是一直不变化的现场
3、具体应用
int number = rand() % 10 + 1; //产生1-10的随机数
printf(“%d \n\r”,number);
int number1 = rand() % 20 + 10; //产生1-20的随机数
printf(“%d \n\r”,number1);
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/taoye_11/article/details/134528211
一般 随机数的体量和位数是成一定关系的吧 生成随机数的函数 单片机需要多少个指令周期才能完成啊 我一般用内部3温度值来作为种子 生成随机数的目的是什么呢
如果需要生成很大的随机数 是不是对单片机的数据处理能力就比较高了啊
两个一样的随机数碰上的概率真的很低
这个随机数函数生成的是伪几随机数吧
STM32本身有硬件随机数发生器(RNG),比srand() + rand()更可靠,安全性也更高,建议试试看。 srand()用当前时间作种子是个常规做法,但STM32的RTC时钟启动时间可能有延迟,种子值可能不太理想。
页:
[1]