国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

歷史上的今天

今天是:2025年07月17日(星期四)

2018年07月17日 | STM32之用SysTick做準(zhǔn)確定時(shí)

發(fā)布者:真誠(chéng)友誼 來(lái)源: eefocus關(guān)鍵字:STM32  SysTic  準(zhǔn)確定時(shí) 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

SysTick,ST的數(shù)據(jù)手冊(cè)上稍微提了一下但是沒(méi)有詳細(xì)介紹,這里我們仔細(xì)研究下。如有錯(cuò)誤之處敬請(qǐng)更正。

 

SysTick位于NVIC中,它主要應(yīng)用在操作系統(tǒng)中,所以平常我們用的很少,但是我們可以用它來(lái)做簡(jiǎn)單的延時(shí),還是比較準(zhǔn)確的。

 

那我們先看一下跟他相關(guān)的寄存器吧:

 

主要有四個(gè)寄存器:CTRL,RELOAD,VAL,CALIB

 

 

CALIB我們一般不用,所以就不做介紹了。

對(duì)CTRL的操作實(shí)際就是設(shè)置SysTick的時(shí)鐘,以及使能等。

對(duì)LOAD的操作就是填充新的計(jì)數(shù)值

對(duì)VAL的操作時(shí)設(shè)置計(jì)數(shù)滿后的操作

 

學(xué)習(xí)最快最感性的莫過(guò)于實(shí)例了,那我們就通過(guò)一個(gè)例子來(lái)學(xué)習(xí)SysTick

 

那我們先說(shuō)下思路,延時(shí)函數(shù)通過(guò)SysTick來(lái)實(shí)現(xiàn),進(jìn)入延時(shí)函數(shù)時(shí)我們啟動(dòng)SysTick,根據(jù)工作的實(shí)際時(shí)鐘頻率來(lái)確定沒(méi)us或者每ms的初值,然后通過(guò)計(jì)算能得到延時(shí)nus或者nms是應(yīng)該填充的初值,但是LOAD寄存器只有24位是可用的,所以延時(shí)的上限為1860ms左右,足夠我們用了。

那我們下邊把代碼貼上來(lái):

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

  * @file    SysTick/main.c  

  * @author  swei 

  * @version V3.3.0 

  * @date    10/20/2010 

  * @brief   Main program body. 

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

#include "stm32f10x.h"  

uint32_t ms_value,us_value;  

void RCC_Configuration(void);  

void GPIO_Configuration(void);  

void Delay_init(uint8_t SYSCLK);  

void Delay_us(uint32_t nus);  

void Delay_ms(uint32_t nms);  

int main(void)  

{  

    RCC_Configuration();  

    GPIO_Configuration();  

    Delay_init(72);  

    while(1)  

    {  

         GPIO_ResetBits(GPIOB,GPIO_Pin_5);  

         Delay_ms(1000);  

         GPIO_SetBits(GPIOB,GPIO_Pin_5);  

         Delay_ms(1000);  

    }  

}  

void RCC_Configuration(void)  

{  

    RCC_DeInit();  

    RCC_HSEConfig(RCC_HSE_ON);  

    while(!RCC_WaitForHSEStartUp());  

    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);  

    FLASH_SetLatency(FLASH_Latency_2);  

    RCC_HCLKConfig(RCC_SYSCLK_Div1);  

    RCC_PCLK2Config(RCC_HCLK_Div1);  

    RCC_PCLK1Config(RCC_HCLK_Div2);  

    RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);  

    RCC_PLLCmd(ENABLE);  

    while(!(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==SET));  

    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);  

    while(!(RCC_GetSYSCLKSource()==0x08));  

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);  

}  

void GPIO_Configuration(void)  

{  

    GPIO_InitTypeDef GPIO_InitStructure;  

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;  

    GPIO_Init(GPIOB,&GPIO_InitStructure);  

}  

void Delay_init(uint8_t SYSCLK)  

{  

    SysTick->CTRL = 0xfffffff8;  

    us_value = SYSCLK/8;  

    ms_value = us_value*1000;  

}  

void Delay_us(uint32_t nus)  

{  

    uint32_t temp;  

    SysTick->LOAD = (uint32_t)nus*us_value;  

    SysTick->VAL = 0x00;  

    SysTick->CTRL |= 0x01;  

    do  

    {  

        temp = SysTick->CTRL;  

    }  

    while(temp&0x01&&!(temp&(1<<16)));  

    SysTick->CTRL &= 0xfffffff8;  

    SysTick->VAL = 0x00;  

}  

void Delay_ms(uint32_t nms)  

{  

     uint32_t temp;  

     SysTick->LOAD = (uint32_t)nms*ms_value;  

     SysTick->VAL = 0x00;  

     SysTick->CTRL |= 0x01;  

     SysTick->CTRL |= 0x01;  

     do  

     {  

        temp = SysTick->CTRL;  

     }  

     while(temp&0x01&&!(temp&(1<<16)));  

     SysTick->CTRL &= 0xfffffff8;  

     SysTick->VAL = 0x00;  

}  

/******************* (C) COPYRIGHT 2010 SWEI ********************END OF FILE****/  


關(guān)鍵字:STM32  SysTic  準(zhǔn)確定時(shí) 引用地址:STM32之用SysTick做準(zhǔn)確定時(shí)

上一篇:STM32F0_SYSTICK在STM32CUBEMX中的設(shè)置
下一篇:STM32之Systick定時(shí)器解析

推薦閱讀

從2018年1月8日Wi-Fi聯(lián)盟組織于在美國(guó)CES上發(fā)布的Wi-Fi新加密協(xié)議WPA3,到6月26日WiFi聯(lián)盟宣布WPA3協(xié)議已最終完成,WPA3作為是Wi-Fi身份驗(yàn)證標(biāo)準(zhǔn)WPA2技術(shù)的的后續(xù)版本雖被大眾所知,但目前還未有傳統(tǒng)路由設(shè)備生產(chǎn)企業(yè)在此方面發(fā)聲宣布其新品換代計(jì)劃。  難道一個(gè)會(huì)讓我們的Wi-Fi環(huán)境更為安全的新加密協(xié)議WPA3會(huì)至此流產(chǎn)么?  WPA3協(xié)議相比前代WPA2協(xié)議...
超華科技與上海交通大學(xué)舉行簽約儀式,共同組建“上海交通大學(xué)—廣東超華科技電子材料聯(lián)合研究中心”。該中心研究?jī)?nèi)容包括:高頻高速(5-10G)銅箔及基板材料關(guān)鍵工藝技術(shù)研究、鋰電銅箔關(guān)鍵工藝技術(shù)研究、大功率電子銅箔工藝技術(shù)及應(yīng)用研究,以及先進(jìn)電子產(chǎn)品可靠性研究等。超華科技公告顯示,超華科技早已具有6μm的高精度銅箔生產(chǎn)能力。目前,超華科技...
void clk_init(void){ unsigned int i; BCSCTL1 &= ~XT2OFF; //開(kāi)啟高速振蕩器 do{ IFG1 &= ~OFIFG; //清除晶體振蕩器出錯(cuò)標(biāo)志 for(i = 0xff;i > 0; i--); //給予高速振蕩器起振時(shí)間 }while((IFG1 & OFIFG)); //判斷高速振蕩器是否起振不...
近日,半導(dǎo)體行業(yè)權(quán)威機(jī)構(gòu)IC Insights發(fā)布了2020年底全球各個(gè)國(guó)家及地區(qū)的芯片產(chǎn)能數(shù)據(jù)圖?! ∠聢D顯示了截至2020年12月份全球區(qū)域晶圓產(chǎn)能情況:需要注意的是,IC Insights的統(tǒng)計(jì)標(biāo)準(zhǔn)是根據(jù)工廠歸屬地來(lái)劃分的。例如三星在美國(guó)設(shè)立的工廠會(huì)算到美國(guó)的總產(chǎn)能中,臺(tái)積電在我國(guó)大陸設(shè)立的工廠算在大陸的總產(chǎn)能中?! ⊥ㄟ^(guò)圖片可以看出,截至2020年12月,...

史海拾趣

小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

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

 
汽車(chē)開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(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