伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

單片機C語言如何產生隨機數

GReq_mcu168 ? 來源:玩轉單片機 ? 2019-11-26 14:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨機數在單片機的應用中也是很多的,當然產生隨機數的方法有很多,當中有一個就是利用單片機定時器,取出未知的定時器THX和TLX的值,再加以運算得到一個規定范圍內的隨機數值。這做法也是可行的。或者預先寫好一個隨機數表,然后進行取數據。也是可以的。

KEIL里面產生隨機數的函數確實是rand(),但頭文件是stdlib.h,不是time.h。C語言提供了一些庫函數來實現隨機數的產生。

C語言中有三個通用的隨機數發生器,分別為 rand函數、random函數、randomize 函數,但是rand函數產生的并不是真意正義上的隨機數,是一個偽隨機數,是根據一個數,稱之為種子,為基準以某個遞推公式推算出來的一系數,當這系列數很大的時候,就符合正態公布,從而相當于產生了隨機數。

但這不是真正的隨機數,當計算機正常開機后,這個種子的值是定了的,除非破壞了系統,為了改變這個種子的值,C提供了srand()函數,它的原形是void srand( int a)。在調用rand函數產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand()在調用時會自動設隨機數種子為1。一般用for語句來設置種子的個數。

單片機產生隨機數的兩種方法

方法一

定時器直接隨機取值

每按一次按鍵生成一個隨機數,這個隨機數實際是把定時器的值給取出來了,并不能算絕對的隨機、方法二才是真正意義上的隨機。

方法二

用定時器加rand()隨機函數來實現

單片機上電之后通過按鍵去啟動取隨機數,若是單片機上電就立即取隨機數的話,那每次上電隨機的結果都是一樣的。然后是0 到9不重復的隨機數,程序中用了循環來判斷是否和前面取的隨機數相同,相同則進入,下次取隨機數,不同則存入數組。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6077

    文章

    45519

    瀏覽量

    671897
  • C語言
    +關注

    關注

    183

    文章

    7645

    瀏覽量

    145886
  • 函數
    +關注

    關注

    3

    文章

    4419

    瀏覽量

    67678

原文標題:教您單片機C語言如何產生隨機數

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    硅臻正式推出QRNG全系列量子隨機數發生器產品

    信息安全是社會穩定的必要條件,數字時代其重要性更是愈發凸顯。無論在經典還是量子加密的過程中,隨機數都是安全性的基石。加密密鑰由隨機數生成,安全性由隨機數的不可預測性保證。與偽隨機數不同
    的頭像 發表于 03-10 16:24 ?274次閱讀
    硅臻正式推出QRNG全系列量子<b class='flag-5'>隨機數</b>發生器產品

    手把手教你學51單片機-C語言

    ,沒有專業的人員帶領大家入門。 基于這些原因,我們編寫了這本《手把手教你學51單片機-C語言版》(第3版),并且配套了相關的視頻教程、電子教案、源代碼和實驗開發板(詳情瀏覽青島金思特電子有限公司網站獲取
    發表于 03-05 11:47

    飛凌嵌入式ElfBoard-系統信息與資源之產生隨機數

    整數,作為隨機數生成器的種子值。它決定了 rand() 函數生成的隨機數序列的起始點。4.返回值無。5.示例:(使用rand函數產生一組隨機數)#include #include #i
    發表于 01-22 08:59

    如何在LTspice仿真中實現偽隨機數和真隨機數的生成

    本文討論如何在LTspice仿真中利用flat()、gauss()和mc()函數來實現偽隨機數和真隨機數的生成,并介紹如何使用設置面板的Hacks部分中的 Use the clock
    的頭像 發表于 01-09 14:08 ?4743次閱讀
    如何在LTspice仿真中實現偽<b class='flag-5'>隨機數</b>和真<b class='flag-5'>隨機數</b>的生成

    德思特應用 | 前沿量子隨機數研究:多特蒙德工業大學如何通過高速數字化儀保障信息安全

    在量子信息時代,生成真正隨機的數字對加密與安全至關重要。多特蒙德工業大學研究人員利用高速數字化儀對量子隨機數生成過程進行多通道采集與分析,成功實驗評估竊聽風險,為密碼協議與安全應用提供了可靠驗證手段。
    的頭像 發表于 12-22 17:22 ?455次閱讀
    德思特應用 | 前沿量子<b class='flag-5'>隨機數</b>研究:多特蒙德工業大學如何通過高速數字化儀保障信息安全

    為什么單片機還在用C語言編程?

    說起單片機我們就會想到C語言單片機為什么還在用C語言編程?現在有很多很好用的高級
    發表于 11-28 07:37

    C語言單片機C語言有什么差異

    區別是由編譯器決的,只能參考對應的編譯手冊,即使同種平臺不同的編譯器對C的擴展也有不同。 3、單片機c語言編程是基于C
    發表于 11-14 07:55

    ?基于RNG90的真隨機數生成器技術解析與應用指南

    Microchip Technology RNG90 CryptoAuthentication?器件設計用于需要安全隨機數發生器的系統。RNG90即用型,無需任何定制。Microchip RNG90
    的頭像 發表于 10-10 15:01 ?742次閱讀
    ?基于RNG90的真<b class='flag-5'>隨機數</b>生成器技術解析與應用指南

    隨機數和偽隨機數的區別

    隨機數在當前程序運行環境中是一種常用參數,目前主要分為兩種,偽隨機數和真隨機數,本期我們就來講一下二者的區別。
    的頭像 發表于 08-27 17:46 ?2715次閱讀

    單片機C語言實例(350+例)

    350+單片機C語言實例! 純分享帖,需要者可點擊附件免費獲取完整資料~~~【免責聲明】本文系網絡轉載,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請第一時間告知,刪除內容!
    發表于 05-22 21:47

    單片機c語言編程實例大全

    單片機c語言編程實例大全_18
    發表于 04-30 16:11 ?7次下載

    labview求助:想寫一個labview輸出不重復隨機數的程序,有沒有大佬幫忙看看這個假分支要怎么寫?

    大佬們想寫一個labview輸出不重復隨機數的程序,有沒有大佬幫忙看看這個假分支要怎么寫
    發表于 04-27 08:39

    labview怎么輸出不重復的整數隨機數

    大佬們我想問一下怎么能夠生成不重復的隨機數,labview能夠輸出整數隨機數
    發表于 04-16 11:15

    新概念51單片機C語言教程入門、提高、開發、拓展全攻略

    資料介紹 從實際應用入手,以實驗過程和實驗現象為主導,循序漸進地講述51單片機C語言編程方法以及51單片機的硬件結構和功能應用。全書共分5篇,分別為入門篇、內外部資源操作篇、提高篇、實
    發表于 04-15 13:57

    “Quantum Origin”成首個獲NIST驗證的軟件量子隨機數生成器

    -Quantinuum的“Quantum Origin”成為首個通過NIST驗證的軟件量子隨機數生成器 Quantum Origin獲得NIST SP 800-90B對其驗證熵源的批準 增強了聯邦
    的頭像 發表于 04-03 15:22 ?948次閱讀