一個獨立的單片機(jī)系統(tǒng),如果說不引進(jìn)一個隨機(jī)的信號的信號的話那么是永遠(yuǎn)沒有辦法實現(xiàn)隨機(jī)的效果的。在用單片機(jī)開發(fā)的產(chǎn)品中有很多的產(chǎn)品都是要插入隨機(jī)生成效果的,所以對于單片機(jī)來說單片機(jī)中的C語言隨機(jī)生成也是十分的重要的,下面達(dá)內(nèi)科技就來給大家講解下嵌入式C語言中的隨機(jī)數(shù)是怎么生成的。
單片機(jī)生成隨機(jī)數(shù)的幾種常用隨機(jī)信號如下:
1. 用一路AD采集溫度或電源噪聲,取后幾位作為隨機(jī)信號;
2. 將用戶的交互信號時間作為隨機(jī)信號;
3. 利用時鐘芯片或RTC獲取當(dāng)前時間再經(jīng)處理作為隨機(jī)信號;
4.
自己搭一個硬件電路用來產(chǎn)生隨機(jī)信號,如利用單片機(jī)的內(nèi)置時鐘設(shè)為1M,外接一個用溫度敏感電阻搭建一個特征頻率10M的RC振蕩電路,用慢時鐘去采集快時鐘,然后經(jīng)過簡單處理,就可以得到一個真正的隨機(jī)數(shù)了。
單片機(jī)產(chǎn)生隨機(jī)數(shù)的兩種方法
方法一:定時器直接隨機(jī)取值
每按一次按鍵生成一個隨機(jī)數(shù),這個隨機(jī)數(shù)實際是把定時器的值給取出來了,并不能算的隨機(jī)、方法二才是真正意義上的隨機(jī)。
方法二:用定時器加rand()隨機(jī)函數(shù)來實現(xiàn)
單片機(jī)上電之后通過按鍵去啟動取隨機(jī)數(shù),若是單片機(jī)上電就立即取隨機(jī)數(shù)的話,那每次上電隨機(jī)的結(jié)果都是一樣的。然后是0
到9不重復(fù)的隨機(jī)數(shù),程序中用了循環(huán)來判斷是否和前面取的隨機(jī)數(shù)相同,相同則進(jìn)入,下次取隨機(jī)數(shù),不同則存入數(shù)組。
單片機(jī)C語言中的隨機(jī)數(shù)生成方法對于想要學(xué)習(xí)單片機(jī)的學(xué)員來說活也是十分的重要的,所以想要進(jìn)入到單片機(jī)開發(fā)這個行業(yè)的話那么就要好好的學(xué)習(xí)單片機(jī)技術(shù)。想要學(xué)習(xí)單片機(jī)技術(shù)的話不妨來我們達(dá)內(nèi)科技的單片機(jī)培訓(xùn)班來實地考察,也可以先點擊我們文章下面的獲取試聽資格按鈕來獲取我們單片機(jī)課程免費試聽資格,在試聽中可以更加深入的了解達(dá)內(nèi)科技。