介尘部落

文学|音乐|休闲娱乐|计算机技术|地球科学|社会学——知识成就命运


STM32随机数发生器生成随机数的方法

通过随机数函数,生成伪随机数

有srand()和rand()这两个函数,需要配对使用。
srand()是输入一个随机数种子,然后调用rand()函数得到一个随机数,这个数呢,其实是通过各种加减乘除算出来的,并不是真随机数。如果srand()提供的种子不变,则rand()生成的不是真随机数。
要想输出真随机数,就需要给的种子也是随机的,但这不容易办到。如果每次给他的种子变一下,则rand()就可以输出接近真随机数了。
但是这个变,又不能像1,2,3,4这样来搞,对于STM32来说,可以调用SYSTICK时钟计数器的值作为种子,这样rand()就可以输出“真”随机数了。当然这个“真”是打了引号的,并不是真正的随机数,只是看起来比较像而已。

srand(SysTick->VAL);	//将systick计数器的值作为种子
k=rand()%100;			//获得100以内的随机数
阅读全文
公众号-介尘阅读时光
赞赏支持

0 Responses to “STM32随机数发生器生成随机数的方法”

Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

×