娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年02月10日(星期一)

正在發(fā)生

2020年02月10日 | STM32F103之系統(tǒng)時(shí)鐘初始化及延遲函數(shù)

發(fā)布者:逍遙游俠 來源: eefocus關(guān)鍵字:STM32F103  系統(tǒng)時(shí)鐘  初始化  延遲函數(shù) 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

一、簡(jiǎn)介


本文以STM32F103編程為例,介紹STM32F103系統(tǒng)時(shí)鐘初始化及延遲函數(shù)編寫


二、實(shí)驗(yàn)平臺(tái)


電腦平臺(tái):Windows7 64位旗艦


編譯軟件:Keil5


硬件平臺(tái):STM32F103RC


三、版權(quán)聲明


四、實(shí)驗(yàn)前提


1、在進(jìn)行本文步驟前,請(qǐng)先安裝keil5版本;準(zhǔn)備好STM32F103RC硬件平臺(tái)。


五、基礎(chǔ)知識(shí)


暫無


六、源碼地址


暫無


七、關(guān)聯(lián)文章


暫無


八、實(shí)驗(yàn)內(nèi)容


1.初始化系統(tǒng)時(shí)鐘


/*外部時(shí)鐘最高72MHz  內(nèi)部時(shí)鐘最高64MHz*/

typedef enum{

    HAL_CLOCK_HSE_SYS = (unsigned char)0x01,                /*外部時(shí)鐘*/

    HAL_CLOCK_HSI_SYS = (unsigned char)0x02                    /*內(nèi)部時(shí)鐘*/

}Type_Hal_Clock_Sys;

 

typedef enum{

    HAL_CLOCK_36MHZ = (unsigned char)0x01,

    HAL_CLOCK_48MHZ = (unsigned char)0x02,

    HAL_CLOCK_56MHZ = (unsigned char)0x03,

    HAL_CLOCK_64MHZ = (unsigned char)0x04,

    HAL_CLOCK_72MHZ = (unsigned char)0x05

}Type_Hal_Clock_Mhzx;

     

 

 

/*********************************************************************

* @fn      Hal_SysClock_Init()

*

* @brief   系統(tǒng)時(shí)鐘初始化

*

* @param   Type_Hal_Clock_Sys : HAL_CLOCK_HSE_SYS HAL_CLOCK_HSI_SYS 

* @param     Type_Hal_Clock_Mhzx : HAL_CLOCK_20MHZ HAL_CLOCK_36MHZ HAL_CLOCK_48MHZ HAL_CLOCK_56MHZ HAL_CLOCK_64MHZ HAL_CLOCK_72MHZ

*

* @return  None.

********************************************************************/

 

unsigned int Hal_SysClock_Init(Type_Hal_Clock_Sys clockx,Type_Hal_Clock_Mhzx mHzx)

{

    unsigned int newSysClock = 0;

    RCC_DeInit();

  switch(clockx)

    {

        case HAL_CLOCK_HSE_SYS:

        {

            ErrorStatus HSEStartUpStatus;

            RCC_HSEConfig(RCC_HSE_ON);  

            HSEStartUpStatus = RCC_WaitForHSEStartUp();      

            if(HSEStartUpStatus == SUCCESS)  

            {

                RCC_HCLKConfig(RCC_SYSCLK_Div1);         

                RCC_PCLK2Config(RCC_HCLK_Div1);   

                RCC_PCLK1Config(RCC_HCLK_Div2); 

                

                RCC_ADCCLKConfig(RCC_PCLK2_Div6);                   

                FLASH_SetLatency(FLASH_Latency_2);                   

                FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); 

                switch(mHzx)

                {

                    case HAL_CLOCK_36MHZ:

                    {

                        RCC_PLLConfig(RCC_PLLSource_HSE_Div2, RCC_PLLMul_9); 

                        newSysClock = 36000000;

                    }

                    break;

                    case HAL_CLOCK_48MHZ:

                    {

                        RCC_PLLConfig(RCC_PLLSource_HSE_Div2, RCC_PLLMul_12); 

                        newSysClock = 48000000;

                    }

                    break;

                    case HAL_CLOCK_56MHZ:

                    {

                        RCC_PLLConfig(RCC_PLLSource_HSE_Div2, RCC_PLLMul_14); 

                        newSysClock = 56000000;

                    }

                    break;

                    case HAL_CLOCK_64MHZ:

                    {

                        RCC_PLLConfig(RCC_PLLSource_HSE_Div2, RCC_PLLMul_16); 

                        newSysClock = 64000000;

                    }

                    break;

                    case HAL_CLOCK_72MHZ:

                    {

                        RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); 

                        newSysClock = 72000000;

                    }

                    break;            

                    default:

                        break;

                }

            }

        }

        break;

        case HAL_CLOCK_HSI_SYS:

        {

            RCC_HSICmd(ENABLE);

            while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);

            RCC_HCLKConfig(RCC_SYSCLK_Div1);

            RCC_PCLK2Config(RCC_HCLK_Div1);

            RCC_PCLK1Config(RCC_HCLK_Div2);

            RCC_ADCCLKConfig(RCC_PCLK2_Div8);

            FLASH_SetLatency(FLASH_Latency_2);

            FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

            switch(mHzx)

            {

                case HAL_CLOCK_36MHZ:

                {

                    RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_9); 

                    newSysClock = 36000000;

                }

                break;

                case HAL_CLOCK_48MHZ:

                {

                    RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_12); 

                    newSysClock = 48000000;

                }

                break;

                case HAL_CLOCK_56MHZ:

                {

                    RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_14); 

                    newSysClock = 56000000;

                }

                break;

                case HAL_CLOCK_64MHZ:

                {

                    RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_16);

                    newSysClock = 64000000;

                }

                break;

                default:

                    break;

            }

        }

            break;

        default:

            break;

    }

    RCC_PLLCmd(ENABLE);

    while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);

    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

    while (RCC_GetSYSCLKSource() != 0x08);

    return newSysClock;

}

2.延遲函數(shù)相關(guān)

提示:選擇系統(tǒng)時(shí)鐘36M時(shí)延遲誤差較大


static unsigned charfac_us=0;                            //us延時(shí)倍乘數(shù)

static unsigned short fac_ms=0;                            //ms延時(shí)倍乘數(shù),在ucos下,代表每個(gè)節(jié)拍的ms數(shù)

 

 

/*********************************************************************

* @fn      Hal_delay_init()

*

* @brief   延遲函數(shù)初始化

*

* @param   mHzx :    HAL_CLOCK_36MHZ HAL_CLOCK_48MHZ HAL_CLOCK_46MHZ HAL_CLOCK_64MHZ HAL_CLOCK_72MHZ

* @param   sysClock : 系統(tǒng)時(shí)鐘 例如 72000000M

[1] [2]
關(guān)鍵字:STM32F103  系統(tǒng)時(shí)鐘  初始化  延遲函數(shù) 引用地址:STM32F103之系統(tǒng)時(shí)鐘初始化及延遲函數(shù)

上一篇:STM32F103之IAR添加scanf
下一篇:STM32 實(shí)現(xiàn) MPU6050 數(shù)據(jù)讀取與傾角檢測(cè)

推薦閱讀

  2018年1月28日,瑞雪飛舞,滿街掛冰,長(zhǎng)沙通程國(guó)際大酒店卻熱烈紅火,賓朋歡顏。應(yīng)湖南省新能源產(chǎn)業(yè)協(xié)會(huì)邀請(qǐng),首航新能源與來自沙特阿拉伯、印度、孟加拉、也門和厄瓜多爾等多國(guó)外賓、國(guó)家電網(wǎng)、五大發(fā)電集團(tuán)、設(shè)計(jì)單位、施工單位、專家學(xué)者以及國(guó)內(nèi)知名光伏、風(fēng)電等會(huì)員單位和省內(nèi)外新能源企業(yè)代表共500多人相聚一堂,辭舊迎新。?  湖南新能源產(chǎn)業(yè)...
上回說到,奧巴馬deepfake懟川普,斯嘉麗怒斥網(wǎng)友假視頻。deepfake,視頻造假神器,把一個(gè)人的臉龐,轉(zhuǎn)移到另一個(gè)的身上,讓假新聞?shì)p松傳播到全網(wǎng)。這下,不管是政要還是明星,都被“有視頻有真相”的緋聞纏身,跳進(jìn)密西西比河洗不清了。即使是普通人,萬(wàn)一哪天被人構(gòu)陷,做了小視頻發(fā)到女朋友那里,恐怕是膝蓋跪鍵盤,有嘴說不清。因?yàn)槟憧矗@些視頻你能...
有的朋友買了示波器,看到示波器的刷新率標(biāo)稱,可能會(huì)很好奇,想知道能否測(cè)出來。相對(duì)于采樣率、存儲(chǔ)深度等由硬件特性決定的指標(biāo),刷新率完全是由處理器處理方式?jīng)Q定的,合理的數(shù)據(jù)處理方式可以得到更高的刷新率,接下來我們就手把手教大家測(cè)量示波器的刷新率,感興趣的朋友可以拿起手中的示波器測(cè)一下。首先我們先來了解下示波器刷新率(也叫波形捕獲率)...
集微網(wǎng)消息 歷經(jīng)近五年的發(fā)展,智能手機(jī)在拍照這項(xiàng)功能上有了質(zhì)的跨越。然而隨著相關(guān)零部件愈發(fā)成熟,產(chǎn)品同質(zhì)化的問題也開始顯露,為了能讓自家產(chǎn)品成功“出圈”,終端品牌在手機(jī)影像功能上開始了長(zhǎng)達(dá)數(shù)年的差異化競(jìng)爭(zhēng)。整個(gè)過程當(dāng)中,最具代表性的一項(xiàng)操作就是持續(xù)疊加攝像頭的數(shù)量,從最初的1顆攝像頭增加到現(xiàn)在旗艦機(jī)標(biāo)配的4顆,而這一趨勢(shì)也在很大程...

史海拾趣

問答坊 | AI 解惑

求430f149的例程和c語(yǔ)言教程,立馬給分

求430f149的例程和c語(yǔ)言教程,立馬給分,我郵箱zhang.6466@163.com…

查看全部問答∨

請(qǐng)教內(nèi)存映射方式的問題

請(qǐng)教一個(gè)簡(jiǎn)單問題. 我的2440的nGCS5片選接了一個(gè)硬盤的片選. 我現(xiàn)在要操作2440的實(shí)際物理空間. 如:0x2800 0000地址. 在s2440.h文件中.有以下: #define MEMCTRL_BASE    0xB0800000 // 0x49000000 ... #define DMA_BASE   & ...…

查看全部問答∨

請(qǐng)教版主,STM32的多主多從通信

問題是這樣子的. 我有五塊板子,一主控板+4塊功能板,各帶一塊STM32片子. 4塊功能板在獨(dú)自工作的同時(shí),還需向主控板提交工作狀態(tài)采集信吃故障分析等信息,所以需要通迅,而這個(gè)通迅是實(shí)時(shí)連續(xù)的. 1塊主控板,平時(shí)只有三個(gè)任務(wù),一個(gè)是顯示,一個(gè)是 ...…

查看全部問答∨

I2C問題請(qǐng)教版主

void I2C_ADS1110_Init(void) {   GPIO_InitTypeDef  GPIO_InitStructure;   I2C_InitTypeDef   I2C_InitStructure;   /* GPIOB Periph clock enable */   RCC_APB2PeriphCl ...…

查看全部問答∨

求TQ2440ADC流驅(qū)動(dòng)代碼及測(cè)試程序

本人新手,需要ADC流驅(qū)動(dòng)做一個(gè)測(cè)試,求大神指教!272143219@qq.com…

查看全部問答∨

終于點(diǎn)亮了的tmdsf28027usb的第一個(gè)led,特此發(fā)帖紀(jì)念一下

經(jīng)過半小時(shí)的不懈努力,終于點(diǎn)亮了秒殺到的tmdsf28027usb的第一個(gè)led,發(fā)兩張圖,紀(jì)念一下我終于踏上了學(xué)習(xí)dsp的道路…

查看全部問答∨

ADC12和SD16有什么區(qū)別?

最近在用FE427的片子,發(fā)現(xiàn)427上AD采樣有個(gè)SD16,問一下427上是不是沒有ADC12啊? 還有兩者用法有什么區(qū)別呢?…

查看全部問答∨

msp430g2553 的usci_b0 spi模式問題

主要用到了launchpad msp430g2553的硬件spi與nrf24l01通信,已經(jīng)用了usci_A0的串口通訊,現(xiàn)在用usci_B0的spi與nrf24l01通信,用io模擬可以通訊返回正確的status值,但是用usci_b0的spi模式,返回的值不正確//===================================== ...…

查看全部問答∨

【學(xué)習(xí)心得電源】TI電池電量監(jiān)測(cè)基礎(chǔ)知識(shí)之第一章的概念

TI電池電量監(jiān)測(cè)基礎(chǔ)知識(shí),在第一章首先為我們介紹了,電池電量監(jiān)測(cè)基礎(chǔ)知識(shí),分別講了: 什么是電池電量測(cè)量技術(shù) 電池的化學(xué)成分基本知識(shí) 鋰離電池放電曲線:最優(yōu)運(yùn)行時(shí)間 電池化學(xué)容量 可用容量 電荷狀態(tài) 抗阻與溫度和DOD有關(guān)(貌似抗阻是 ...…

查看全部問答∨

提問+掌握了模擬電路的哪些知識(shí)點(diǎn)后算是入門了呢?

如題,很想知道掌握了模擬電路的哪些知識(shí)后才算是入門?有大神給總結(jié)一下嗎? …

查看全部問答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 小金县| 靖边县| 德保县| 浦县| 罗甸县| 赣榆县| 观塘区| 商河县| 宜川县| 宽甸| 河北省| 九台市| 滨州市| 马龙县| 花莲市| 北票市| 鹤岗市| 张家港市| 莱芜市| 招远市| 金溪县| 邵武市| 溧阳市| 仪征市| 柳林县| 耿马| 清水县| 华坪县| 沙坪坝区| 祁阳县| 磐安县| 邢台县| 泸西县| 和平县| 瑞昌市| 康保县| 昭通市| 长岭县| 康乐县| 丹江口市| 德化县|