国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32產(chǎn)生隨機數(shù)

這篇具有很好參考價值的文章主要介紹了STM32產(chǎn)生隨機數(shù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

STM32有2種方式產(chǎn)生隨機數(shù):硬件方式和軟件方式

軟件方式

其中軟件方式可以通過C語言標準函數(shù)stdlib.hsrand()rand()來獲取隨機數(shù),使用步驟為:

  1. 使用 srand(seed)來設(shè)置隨機數(shù)種子。我們知道種子不改變的時候,產(chǎn)生多個隨機數(shù)的時候,第一次產(chǎn)生的數(shù)字是隨機的,后面產(chǎn)生的都與第一次相同。在單片機中,種子通??梢栽O(shè)置為定時器的一個計數(shù)值,也可以通過采集某個GPIO引腳懸空時的值作為隨機數(shù)的種子
  2. 通過 rand() 函數(shù)獲取一個隨機數(shù)

硬件方式

STM32F4 自帶了硬件隨機數(shù)發(fā)生器(RNG),RNG 處理器是一個以連續(xù)模擬噪聲為基礎(chǔ)的隨機數(shù)發(fā)生器,在主機讀數(shù)時提供一個 【32 位】的隨機數(shù)
(即隨機數(shù)的范圍是0~2^32-1)

隨機數(shù)獲取的方式:

#include "rng.h"
#include "delay.h"
#include "sys.h"

//返回0 初始化成功,返回1初始化失敗
u8 RNG_Init(void)    
{
    u16 i;
	delay_init(168);
    //使能RNG時鐘
    RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_RNG,ENABLE);  //使能RNG時鐘,在AHB2總線上
    //使能RNG
    RNG_Cmd(ENABLE);//使能RNG
    while(RNG_GetFlagStatus(RNG_FLAG_DRDY)==0){  //等待DRDY穩(wěn)定,穩(wěn)定之后不為0,返回1     
        i++;
        delay_us(100);                
        if(i >= 10000){
            return 1;       //超時強制返回
        }         
    }
    return 0;     
}


//讀取數(shù)值函數(shù)
u32 RNG_Get_RandomNum(void)
{
    while(RNG_GetFlagStatus(RNG_FLAG_DRDY)==0);   //等待穩(wěn)定
    return RNG_GetRandomNumber();    //獲取并返回數(shù)值
}

//獲取指定范圍[min, max]的隨機數(shù)
int RNG_Get_RandnomRange(int min, int max)     
{
    return min +  RNG_Get_RandomNum()%(max-min+1);   //使數(shù)據(jù)位于某個范圍
}

在主函數(shù)中獲取一個隨機數(shù):文章來源地址http://www.zghlxwxcb.cn/news/detail-657761.html

int x = RNG_Get_RandnomRange(100, 300) // 獲取100~300的隨機數(shù)

到了這里,關(guān)于STM32產(chǎn)生隨機數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • C語言rand()函數(shù)產(chǎn)生隨機數(shù)詳解

    C語言rand()函數(shù)產(chǎn)生隨機數(shù)詳解

    rand函數(shù)的原型: rand函數(shù)的功能: 用來產(chǎn)生一個隨機數(shù) rand函數(shù)的界限: stdlib.h頭文件中有宏#define RAND_MAX 0x7fff,這表示rand產(chǎn)生一個0-0x7fff的隨機數(shù),即最大是32767的一個數(shù) rand函數(shù)獲取隨機數(shù)的基礎(chǔ)用法為: a是一個整數(shù),返回值為0到a的隨機數(shù),包含0,但不包含a。 如果想要

    2024年02月06日
    瀏覽(14)
  • 在MATLAB產(chǎn)生正態(tài)(Gauss)分布隨機數(shù)

    在MATLAB產(chǎn)生正態(tài)(Gauss)分布隨機數(shù)

    在 MATLAB 中內(nèi)置了有產(chǎn)生標準正態(tài)(Gauss)分布的隨機數(shù)函數(shù),使用方法如下: 其中 m、n 為產(chǎn)生矩陣的行數(shù)和列數(shù), p 為產(chǎn)生矩陣的個數(shù),產(chǎn)生的矩陣中的每個元素均為服從 N ( 0 , 1 ) N(0, 1) N ( 0 , 1 ) 的標準正態(tài)分布的元素。 使用如下命令產(chǎn)生一個 100x1 的服從 標準正態(tài)(Gauss)分布

    2024年02月02日
    瀏覽(19)
  • 基于FPGA的LFSR16位偽隨機數(shù)產(chǎn)生算法實現(xiàn),可以配置不同的隨機數(shù)種子和改生成多項式,包含testbench

    基于FPGA的LFSR16位偽隨機數(shù)產(chǎn)生算法實現(xiàn),可以配置不同的隨機數(shù)種子和改生成多項式,包含testbench

    目錄 1.算法仿真效果 2.算法涉及理論知識概要 3.Verilog核心程序 4.完整算法代碼文件 vivado2019.2仿真結(jié)果如下: ? ? ? ? ? LFSR(線性反饋移位寄存器)提供了一種在微控制器上快速生成非序列數(shù)字列表的簡單方法。生成偽隨機數(shù)只需要右移操作和 XOR 操作。LFSR 完全由其多項式

    2024年02月11日
    瀏覽(26)
  • C語言隨機數(shù)的產(chǎn)生(rand、srand、time函數(shù)細節(jié)講解)

    C語言隨機數(shù)的產(chǎn)生(rand、srand、time函數(shù)細節(jié)講解)

    先上代碼,再詳細解釋: 我們先來查詢下rand函數(shù) 網(wǎng)站舊版我放在這兒,可以查詢庫函數(shù)等https://legacy.cplusplus.com/reference/cstring/strcat/ rand函數(shù)的頭文件是stdlib.h。 rand函數(shù)無需傳參數(shù),返回類型是一個偽隨機的整數(shù)范圍是0到RAND_MAX。那這個RAND_MAX所對應的值是多少呢?我們同樣

    2024年02月08日
    瀏覽(20)
  • Google Earth Engine(GEE)——土地分類精度分析randomColumn產(chǎn)生偽隨機數(shù)然后進行混淆矩陣計算

    Google Earth Engine(GEE)——土地分類精度分析randomColumn產(chǎn)生偽隨機數(shù)然后進行混淆矩陣計算

    我們在進行土地分類時,需要進行精度驗證,但是之前我們要進行樣本點的隨機分類,也就是分出一部分作為訓練樣本另外一部分作為,這是我們要想產(chǎn)生隨機種子賦值給我們所選定的訓練樣本,這樣我們就可以隨機將樣本進行分成訓練樣本和驗證樣本,而我們使用的函數(shù)

    2024年02月09日
    瀏覽(17)
  • stm32嵌入式實驗考核

    STM32 實驗考核題目 1. 利用 STM32 小板實現(xiàn):控制外接 LED 燈每隔 3 秒鐘亮暗變換,同 時在 PC 機上顯示 MCU 的計時時間,MCU 的初始時間由 PC 機 方設(shè)置。 2. 利用 STM32 小板實現(xiàn):利用導線外接 GPIO 口模擬 2 個按鍵輸入, 根據(jù)輸入組合的四種情況,分別控制三色燈四種流水燈效果

    2024年02月03日
    瀏覽(29)
  • 【嵌入式學習筆記】嵌入式基礎(chǔ)9——STM32啟動過程

    【嵌入式學習筆記】嵌入式基礎(chǔ)9——STM32啟動過程

    程序段交叉引用關(guān)系(Section Cross References):描述各文件之間函數(shù)調(diào)用關(guān)系 刪除映像未使用的程序段(Removing Unused input sections from the image):描述工程中未用到被刪除的冗余程序段(函數(shù)/數(shù)據(jù)) 映像符號表(Image Symbol Table):描述各符號(程序段/數(shù)據(jù))在存儲器中的地址、類

    2024年02月15日
    瀏覽(64)
  • 嵌入式 STM32 通訊協(xié)議--MODBUS

    嵌入式 STM32 通訊協(xié)議--MODBUS

    目錄 一、自定義通信協(xié)議 1、協(xié)議介紹 2、網(wǎng)絡(luò)協(xié)議 3、自定義的通信協(xié)議? 二、MODBUS通信協(xié)議 1、概述 2、MODBUS幀結(jié)構(gòu)? 協(xié)議描述 3、MODBUS數(shù)據(jù)模型 ? 4、MODBUS事務處理的定義 5、MODBUS功能碼? 6、功能碼定義? ?7、MODBUS數(shù)據(jù)鏈路層 8、MODBUS地址規(guī)則? 9、MODBUS幀描述 10、MODBUS兩種

    2024年02月11日
    瀏覽(40)
  • STM32的時鐘系統(tǒng)(嵌入式學習)

    STM32的時鐘系統(tǒng)(嵌入式學習)

    時鐘是指用于計量和同步時間的裝置或系統(tǒng)。時鐘是嵌入式系統(tǒng)的脈搏,處理器內(nèi)核在時鐘驅(qū)動下完成指令執(zhí)行,狀態(tài)變換等動作,外設(shè)部件在時鐘的驅(qū)動下完成各種工作,例如:串口數(shù)據(jù)的發(fā)送、AD轉(zhuǎn)換、定時器計數(shù)等。因此時鐘對于計算機系統(tǒng)是至關(guān)重要的,通常時鐘系

    2024年02月16日
    瀏覽(29)
  • 嵌入式——新建STM32工程(標準庫)

    嵌入式——新建STM32工程(標準庫)

    目錄 一、初識標準庫 1.CMSIS標準及庫層級關(guān)系 2.庫文件介紹 (1)Libraries文件夾 ①CMSIS文件夾 ②STM32F10x_Std_Periph_Driver文件夾 ③ 在用庫建立一個完整的工程時,還需要添加stm32f10x_it.c、 stm32f10x_conf.h 和 system_stm32f10x.c文件 (2)Project文件夾 (3)Utilities文件夾 3.庫各文件之間的關(guān)

    2024年01月23日
    瀏覽(91)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包