在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > STM32學習筆記——系統(tǒng)定時器SysTick的使用

            STM32學習筆記——系統(tǒng)定時器SysTick的使用

            作者: 時間:2016-11-28 來源:網絡 收藏
            //Cortex系統(tǒng)定時器SysTick提供1個24位、降序、零約束、寫清除的計數(shù)器,具有靈活的控制機制

            本文引用地址:http://www.biyoush.com/article/201611/322883.htm

            #include"stm32f10x_lib.h"

            GPIO_InitTypeDefGPIO_InitStructure;//定義用于初始化配置GPIO的結構體變量

            staticvu32TimingDelay;//定義為volatile類型

            ErrorStatusHSEStartUpStatus;//定義枚舉類型的錯誤狀態(tài)

            voidTimingDelay_Decrement(void);

            voidRCC_Configuration(void);

            voidNVIC_Configuration(void);

            voidDelay(vu32nTime);

            intmain(void)

            {

            #ifdefDEBUG

            debug();

            #endif

            RCC_Configuration();//系統(tǒng)時鐘配置

            NVIC_Configuration();//NVIC配置

            //系統(tǒng)默認SysTick是8分頻(HCLK/8)當前系統(tǒng)時鐘72M的話72/8=9MHZ

            SysTick_SetReload(9000);//如果設置9000時,計數(shù)到9000時,產生1MS中斷

            //該函數(shù)設置SysTick的重裝載值,因為是一個24位的計數(shù)器,所以重裝載值必須在1到0x00ffffff之間

            //開啟SysTick中斷

            SysTick_ITConfig(ENABLE);//使能或者失能SysTick中斷,參數(shù)取值有ENABEL或DISABEL

            //開啟GPIOB端口使能APB2

            RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);

            GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;//選中第6,7,8,9腳

            GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//GPIO速度為50MHz

            GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//設為推挽輸出模式

            GPIO_Init(GPIOB,&GPIO_InitStructure);//用配置好的結構體初始化PB口

            GPIO_Write(GPIOB,GPIO_Pin_6|GPIO_Pin_8);//向GPIOB的6,8腳寫數(shù)據

            while(1)

            {

            GPIO_Write(GPIOB,(u16)~GPIO_ReadOutputData(GPIOB));//GPIOB口狀態(tài)取反

            Delay(500);//延時500MS

            GPIO_Write(GPIOB,(u16)~GPIO_ReadOutputData(GPIOB));

            Delay(500);//延時500MS

            }

            }

            voidRCC_Configuration(void)

            {

            //復位RCC外部設備寄存器到默認值

            RCC_DeInit();

            //打開外部高速晶振

            RCC_HSEConfig(RCC_HSE_ON);

            //等待外部高速時鐘準備好

            HSEStartUpStatus=RCC_WaitForHSEStartUp();

            //外部高速時鐘已經準別好

            if(HSEStartUpStatus==SUCCESS)

            {

            FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

            FLASH_SetLatency(FLASH_Latency_2);

            //配置AHB(HCLK)時鐘=SYSCLK

            RCC_HCLKConfig(RCC_SYSCLK_Div1);

            //配置APB2(PCLK2)鐘=AHB時鐘

            RCC_PCLK2Config(RCC_HCLK_Div1);

            //配置APB1(PCLK1)鐘=AHB1/2時鐘

            RCC_PCLK1Config(RCC_HCLK_Div2);

            //配置ADC時鐘=PCLK21/4

            RCC_ADCCLKConfig(RCC_PCLK2_Div4);

            //配置PLL時鐘==外部高速晶體時鐘*9

            RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);//PLL頻率為8*9=72MHz


            上一頁 1 2 下一頁

            評論


            技術專區(qū)

            關閉