STM32系統定時器 SysTick

2021-10-09 16:21:40 字數 1168 閱讀 5603

systick-系統定時器是cm3核心中的乙個外設,內嵌在nvic中,所有基於cm3核心的微控制器都具有這個系統定時器,系統定時器一般用於作業系統,用於產生時基,維持作業系統的心跳。系統定時器是乙個24bit的向下遞減的計數器,計數器計數一次的時間為1/sysclk,一般我們設定系統時鐘sysclk等於72m。

因為systick屬於核心外設,跟普通外設的中斷優先順序有區別,並沒有搶占優先順序和子優先順序的說法,核心外設的中斷優先順序由核心scb這個外設暫存器配置。

系統定時器有4個暫存器,使用systick產生定時時候,只需要配置前面三個,最後乙個校準暫存器不需要使用。

暫存器名稱暫存器描述

ctrl

systick控制及狀態暫存器

load

systick重裝載數值暫存器

valsystick當前數值暫存器

calib

systick校準數值暫存器

systick控制及狀態暫存器

位段名稱型別復位值描述

16countflag

r/w0

如果在上次讀取本暫存器後,

systick

已經計到了 0

,則該位為 1。

2clksource

r/w0

時鐘源選擇位,

0=ahb/8,1=

處理器時鐘

ahb

1tickint

r/w0

1=systick

倒數計數到

0 時產生

systick

異常請求,0=

數到 0

時無動作。也可以通過讀取countflag 標誌位來確定計數器是否遞減到0 0

enable

r/w0

systick

定時器的使能位

可由hal_systick_config函式直接配置,在中斷伺服器函式systick_handler進行更大時間的定時計算。

stm32關定時器 STM32定時器TIM3程式

include led.h include delay.h include key.h include sys.h include usart.h include timer.h stm32開發板實驗8 定時器中斷實驗 int main void delay init 延時函式初始化 nvic co...

STM32 定時器系統原理

目錄 stm32的定時器概述 通用定時器 通用定時器簡介 主要功能 模組框圖 時鐘 通用定時器暫存器 控制暫存器 1 timx cr1 dma 中斷使能暫存器 timx dier 時基單元暫存器 計數器模式 向上計數模式 向下計數模式 定時週期的計算 庫函式 配置定時器 配置步驟 狀態檢視函式 範例...

stm32的定時器

stm32一共有8個都為16位的定時器。其中tim6 tim7是基本定時器 tim2 tim3 tim4 tim5是通用定時器 tim1和tim8是高階定時器。1.基本定時器 基本定時器tim6和tim7只具備最基本的定時功能,就是累加的時鐘脈衝數超過預定值時,能觸發中斷或觸發dma請求。由於在晶元...