0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SysTick定時器介紹,SysTick定時器寄存器

電子工程師 ? 來源:lq ? 2019-02-11 15:37 ? 次閱讀

SysTick定時器介紹

SysTick定時器也叫SysTick滴答定時器, 它是Cortex-M3內(nèi)核的一個外設(shè),被嵌入在 NVIC 中。它是一個 24 位向下遞減的定時器,每計數(shù)一次所需時間為1/SYSTICK,SYSTICK 是系統(tǒng)定時器時鐘,它可以直接取自系統(tǒng)時鐘,還可以通過系統(tǒng)時鐘 8 分頻后獲取,本套程序中我們采用后者,即每計數(shù)一次所需時間為1/(72/8)us,換句話說在 1us 的時間內(nèi)會計數(shù) 9 次。當(dāng)定時器計數(shù)到 0 時,將從LOAD 寄存器中自動重裝定時器初值,重新向下遞減計數(shù),如此循環(huán)往復(fù)。如果開啟 SysTick 中斷的話,當(dāng)定時器計數(shù)到 0,將產(chǎn)生一個中斷信號。因此只要知道計數(shù)的次數(shù)就可以準(zhǔn)確得到它的延時時間。

SysTick 定時器通常應(yīng)用在操作系統(tǒng)中,為其提供時鐘周期。

SysTick定時器操作

STM32F1 庫函數(shù)中,并沒有提供相應(yīng)的 SysTick 定時器配置函數(shù),我們要操作 SysTick 定時器就需要了解它的寄存器功能。 其實 SysTick 定時器寄存器很簡單,只有 4 個,分別是 CTRL、LOAD、VAL、CALIB。這些寄存器都可以在《CortexM3 權(quán)威指南(中文)》 apdx D NVIC 寄存器小結(jié)章節(jié)或者庫函數(shù) core_cm3.h 文件中找到,里面有詳細(xì)的介紹。

SysTick定時器寄存器

(1)CTRL 寄存器

CTRL 是 SysTick 定時器的控制及狀態(tài)寄存器。其相應(yīng)位功能如下:

注:CLKSOUTCE 位是用于選擇 SysTick 定時器時鐘來源,如果該位為 1,表示其時鐘是由系統(tǒng)時鐘直接提供即 72M。如果為 0,表示其時鐘是由系統(tǒng)時鐘八分頻后提供即 72/8=9M。

(2)LOAD 寄存器

LOAD 是 SysTick 定時器的重裝載數(shù)值寄存器。其相應(yīng)位功能如下:

因為 STM32F1 的 SysTick 定時器是一個 24 位遞減計數(shù)器,因此重裝載寄存器中只使用到了低 24 位,即 bit0-bit23。當(dāng)系統(tǒng)復(fù)位時,其值為 0。

(3)VAL 寄存器

VAL 是 SysTick 定時器的當(dāng)前數(shù)值寄存器。其相應(yīng)位功能如下:

同樣只有 bit0-bit23 有效,復(fù)位時值為 0。

(4)CALIB 寄存器

CALIB 是 SysTick 定時器的校準(zhǔn)數(shù)值寄存器。其相應(yīng)位功能如下:

此寄存器在定時實驗中不需要使用,可以不用了解。

SysTick定時器操作步驟

SysTick 定時器的操作可以分為 4 步:

設(shè)置 SysTick 定時器的時鐘源。

設(shè)置 SysTick 定時器的重裝初始值(如果要使用中斷的話,就將中斷

使能打開)。

清零 SysTick 定時器當(dāng)前計數(shù)器的值。

打開 SysTick 定時器。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5343

    瀏覽量

    120375
  • Systick
    +關(guān)注

    關(guān)注

    0

    文章

    62

    瀏覽量

    13094

原文標(biāo)題:STM32入門系列-SysTick系統(tǒng)定時器

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    STM32單片機(jī)的SYSTick定時器的設(shè)置

    SysTick 是一個24 位的倒計數(shù)定時器,當(dāng)計到0 時,將從RELOAD 寄存器中自動重裝載定時初值。只要不把它在SysTick 控制及
    發(fā)表于 12-03 14:27 ?3851次閱讀
    STM32單片機(jī)的<b class='flag-5'>SYSTick</b><b class='flag-5'>定時器</b>的設(shè)置

    【野火指南者】STM32F103延時函數(shù)及其系統(tǒng)定時器SysTick

    學(xué)習(xí)目的:1、學(xué)習(xí)STM32的系統(tǒng)定時器及其相關(guān)的寄存器2、使用STM32的系統(tǒng)定時器來配置延時函數(shù)內(nèi)容介紹:一、Systick簡介二、
    發(fā)表于 11-24 20:06 ?7次下載
    【野火指南者】STM32F103延時函數(shù)及其系統(tǒng)<b class='flag-5'>定時器</b>—<b class='flag-5'>SysTick</b>

    STM32F4: Systick滴答定時器-延時函數(shù)講解(五)

    Systick定時器基礎(chǔ)知識講解Systick相關(guān)寄存器庫函數(shù)講解delay延時函數(shù)講解(Systick應(yīng)用)(借鑒正點原子網(wǎng)課)(一)
    發(fā)表于 12-01 15:21 ?15次下載
    STM32F4: <b class='flag-5'>Systick</b>滴答<b class='flag-5'>定時器</b>-延時函數(shù)講解(五)

    Systick定時器幾個簡單的函數(shù)簡介

    目錄Systick定時器Systick定時器是什么?SysTick的四個寄存器
    發(fā)表于 12-04 17:06 ?1次下載
    <b class='flag-5'>Systick</b><b class='flag-5'>定時器</b>幾個簡單的函數(shù)簡介

    SysTick 定時器

    11.1關(guān)于 SysTick 定時器SysTick定時器(又名系統(tǒng)滴答定時器)是存在于Cortex-M3的一個
    發(fā)表于 12-05 14:51 ?9次下載
    <b class='flag-5'>SysTick</b> <b class='flag-5'>定時器</b>

    Stm32入門——Systick定時器

    Stm32入門——Systick定時器Systick定時器是什么?從原理上來說,Systick定時器
    發(fā)表于 12-07 17:51 ?12次下載
    Stm32入門——<b class='flag-5'>Systick</b><b class='flag-5'>定時器</b>

    STM32_SysTick—系統(tǒng)定時器

    SysTick 的簡介和寄存器的詳細(xì)描述。因為 SysTick 是屬于CM3 內(nèi)核的外設(shè),有關(guān)寄存器的定義和部分庫函數(shù)都在 core_CM3.h 這個頭文件中實現(xiàn)。所以學(xué)習(xí)
    發(fā)表于 12-23 19:56 ?2次下載
    STM32_<b class='flag-5'>SysTick</b>—系統(tǒng)<b class='flag-5'>定時器</b>

    SysTick——系統(tǒng)定時器

    SysTick: 系統(tǒng)定時器,24位,只能遞減,存在于內(nèi)核,嵌套在NVIC中,所有的Cortex-M內(nèi)核的單片機(jī)都具有這個定時器(M0沒有)由于只有24位,所以遞減計數(shù)和重裝載
    發(fā)表于 12-23 19:57 ?1次下載
    <b class='flag-5'>SysTick</b>——系統(tǒng)<b class='flag-5'>定時器</b>

    STM32系統(tǒng)定時器SysTick)筆記

    一、簡介SysTick:系統(tǒng)定時器,24位,只能遞減,存在于內(nèi)核,嵌套在NVIC中,所有的Cortex-M3內(nèi)核的單片機(jī)都具有這個定時器。二、相應(yīng)寄存器(這里
    發(fā)表于 12-23 19:57 ?1次下載
    STM32系統(tǒng)<b class='flag-5'>定時器</b>(<b class='flag-5'>SysTick</b>)筆記

    STM32筆記(七)---Systick系統(tǒng)定時器

    我們設(shè)置系統(tǒng)時鐘 SYSCLK 等于 72M。當(dāng)重裝載數(shù)值寄存器的值遞減到 0 的時候,系統(tǒng)定時器就產(chǎn)生一
    發(fā)表于 12-23 20:01 ?1次下載
    STM32筆記(七)---<b class='flag-5'>Systick</b>系統(tǒng)<b class='flag-5'>定時器</b>

    [學(xué)習(xí)筆記]STM32F1 SYSTICK 滴答定時器(寄存器、標(biāo)準(zhǔn)庫、HAL庫)

    SysTick的中斷函數(shù):4. 程序設(shè)計(寄存器)5. 程序設(shè)計(標(biāo)準(zhǔn)庫)6. 程序設(shè)計(HAL庫)7. 實驗結(jié)果8. 源碼下載7.SYSTICK 滴答定時器0. 博主理解:
    發(fā)表于 12-23 20:02 ?7次下載
    [學(xué)習(xí)筆記]STM32F1 <b class='flag-5'>SYSTICK</b> 滴答<b class='flag-5'>定時器</b>(<b class='flag-5'>寄存器</b>、標(biāo)準(zhǔn)庫、HAL庫)

    STM32學(xué)習(xí)心得九:Systick滴答定時器和延時函數(shù)解讀

    記錄一下,方便以后翻閱~主要內(nèi)容:1) Systick定時器及相關(guān)寄存器;2) Systick相關(guān)函數(shù)及延遲函數(shù)代碼解讀。1. Sys
    發(fā)表于 01-13 10:15 ?6次下載
    STM32學(xué)習(xí)心得九:<b class='flag-5'>Systick</b>滴答<b class='flag-5'>定時器</b>和延時函數(shù)解讀

    19章-SysTick—系統(tǒng)定時器

    系統(tǒng)時鐘SYSCLK等于72M。當(dāng)重裝載數(shù)值寄存器的值遞減到0的時候,系統(tǒng)定時器就產(chǎn)生一次中斷,以此循環(huán)往復(fù)。系統(tǒng)定時器一般用于操作系統(tǒng),用于產(chǎn)生時基,維持操作系統(tǒng)的心跳。寄存器名稱
    發(fā)表于 01-17 09:54 ?1次下載
    19章-<b class='flag-5'>SysTick</b>—系統(tǒng)<b class='flag-5'>定時器</b>

    systick定時器 延時計時

    systick定時器是屬于cortex M內(nèi)核的外設(shè),專門為RTOS的系統(tǒng)時鐘節(jié)拍設(shè)計的。systick是cortex M內(nèi)核自帶的,因此和debug調(diào)試接口一樣,與單片機(jī)型號和廠商無關(guān),只要
    發(fā)表于 01-18 10:28 ?7次下載
    <b class='flag-5'>systick</b><b class='flag-5'>定時器</b> 延時計時

    STM32 SysTick定時器講解

    本文將介紹SysTick定時器、其工作原理與寄存器、及對應(yīng)的應(yīng)用實例
    的頭像 發(fā)表于 04-21 11:31 ?2295次閱讀
    STM32 <b class='flag-5'>SysTick</b><b class='flag-5'>定時器</b>講解