91视频丝瓜-91视频完整版高清-91视频网-91视频网店-91视频网或将从此无大神-91视频网入口

您好,歡迎訪問上海現易電子元器件有限公司網站!

021-51870898
021-51870898   18019251567
4新聞資訊
您的位置: 首頁 ->  新聞資訊 -> 單片機

?STM32 SysTick 精確延時(非中斷方式)

文章出處:單片機 責任編輯:上海現易電子元器件有限公司 發表時間:2020-11-10

SysTick是Cortex-M內核自帶的一個24位定時器,所以我們可以在core_cm3.h或core_cm4.h頭文件中看到它的寄存器定義和配置函數SysTick_Config()。SysTick的功能非常簡單,僅僅提供一個時基功能,支持中斷請求,因此它的寄存器寥寥無幾。

以下是手冊上對SysTick寄存器的介紹:


CTRL為控制寄存器:

ENABLE:使能位

TICKINT: 中斷的開關,當計數溢出且TICKINT=1時SysTick將發出中斷申請。

CLKSOURCE:時鐘選擇位,CLKSOURCE=1時選擇系統時鐘,如果是M3則為72MHz,M4則為168MHz。否側選擇外部時鐘作為時鐘源。

COUNTFLAG: 溢出標志位,計數到0時置1,而且硬件自動清零。

LOAD為重載值寄存器:

當計數到0時SysTick自動將此寄存器的值加載到VAL寄存器中。注意它是24位的,所以最大值為0XFFFFFF。

VAL為當前值寄存器:

SysTick是從上往下計數的,所以此寄存器的值是遞減的。

那么,了解了SysTick的寄存器之后就可以配置它了。首先將CLKSOURCE位置1,選擇系統時鐘作為時鐘源,以M4內核為例,就是168MHz。為了讓SysTick每1us溢出一次,就須要把重載值設置為167(168-1)。當需要延時n(us)時,就將ENABLE位置1,讓SysTick開始計時,然后等待n次COUNTFLAG標志之后退出就行了。

下面是示例代碼:

#include "delay.h"  

  

void delay_config(void)  

{  

    SysTick->CTRL |= SysTick_CTRL_CLKSOURCE_Msk;     //時鐘源為系統時鐘168MHz  

    SysTick->LOAD = 167;                 //重載值為168-1,每1us溢出一次  

}  

  

void delay_ms(vu32 nTime)  

{  

    nTime *= 1000;  

    SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;        //使能SysTick,開始計數  

    while(nTime--){  

        while((SysTick->CTRL&0X010000) == 0);        //等待COUNTFLAG標志位置1  

    }  

    SysTick->CTRL &= (~SysTick_CTRL_ENABLE_Msk);     //失能SysTick,停止計數  

}  

  

void delay_us(vu32 nTime)  

{  

    SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;  

    while(nTime--){  

        while((SysTick->CTRL&0X010000) == 0);  

    }  

    SysTick->CTRL &= (~SysTick_CTRL_ENABLE_Msk);  

}  


上海現易電子元器件有限公司 版權所有 未經授權禁止復制或鏡像

CopyRight 2020-2025 www.urqm.cn All rights reserved   滬ICP備2020031792號

友情鏈接:

電話

易經理

18019251567

微信

易經理

易經理

頂部

咨詢
主站蜘蛛池模板: 天天操夜夜嗨 | 无限看片的动漫视频在线观看 | 日韩精品卡4卡5卡6卡7卡3卡 | 在线观看b | 91精品国产综合久久久久久 | 成人全黄三级视频在线观看 | 最新国产精品精品视频 | 最新四虎影在线在永久观看 | 亚洲精品入口一区二区乱麻豆精品 | 九九视频精品36线视频在线观看 | 爽好大快深点视频网站 | 被黑人伦流澡到高潮HNP动漫 | 国产麻豆| porn在线精品视频 | 热99re6久久精品 | 精品乱码一卡2卡三卡4卡网 | 亚洲精品嫩草AV在线观看 | 伦韩国理论片琪琪在线观看 | 国内揄拍国内精品对白86 | 国产精品高潮呻吟爱久久AV无码 | 99re国产精品视频首页 | 三级黄色视频 | 国产小视频在线高清播放 | 亚洲精品久久精品一区二区 | 久久精品国产波多野结衣 | 国产精品亚欧美一区二区三区 | 边做边爱免费完整版视频播放 | 插日本女人 | 全球热恋迅雷 | 有坂深雪汗潮在线播放 | 国产乱来乱子视频 | 琪琪婷婷五月色综合久久 | 黑人操中国女人 | 欧美一级精品 | 日本熟妇人妻另类无码 | 中文字幕理伦午夜福利片 | 亚洲色噜噜狠狠站欲八 | 极品夜夜嗨久久精品17c | porn在线视频一区二区 | 嗯啊灬别停啊灬用力灬快 | 欧美又大又长又粗又爽A片 欧美综合图区亚洲综合图区69 |