一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

STM32入門學(xué)習(xí)筆記之SysTick時(shí)鐘

jf_78858299 ? 來源:滑小稽筆記 ? 作者:電子技術(shù)園地 ? 2023-02-16 09:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

4.1 SysTick概述

Cortex-M3內(nèi)核的處理器,內(nèi)部包含了一個(gè)SysTick定時(shí)器,SysTick是一個(gè)24位的倒計(jì)數(shù)定時(shí)器,當(dāng)計(jì)數(shù)到0時(shí),將從ReLoad寄存器中自動(dòng)重裝載定時(shí)初值,開始新一輪計(jì)數(shù)。只要不把它在SysTick控制及狀態(tài)寄存器中的使能位清除,就永不停息。

SysTick定時(shí)器能產(chǎn)生中斷,CM3為它專門開出一個(gè)異常類型,并且在向量表中有它的一席之地。它使操作系統(tǒng)和其它系統(tǒng)軟件在CM3器件間的移植變得簡(jiǎn)單多了,因?yàn)樵谒蠧M3產(chǎn)品間對(duì)其處理都是相同的。

我們?cè)诔绦蛑惺褂肧ysTick時(shí)鐘來作為延時(shí)函數(shù),這樣就不會(huì)占用定時(shí)器資源,SysTick時(shí)鐘是一個(gè)直接掛載在AHB總線上的一個(gè)定時(shí)器,輸入的時(shí)鐘頻率直接就是AHB總線上的時(shí)鐘頻率,使用SysTick定時(shí)器進(jìn)行延時(shí),可以精確的設(shè)置延時(shí)時(shí)間,與之前51單片機(jī)的for循環(huán)累加的精度是完全不一樣的。

4.2 相關(guān)寄存器

4.2.1 控制及狀態(tài)寄存器CTRL

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
- flag
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- CLK IRQ EN

Bit 16:計(jì)數(shù)狀態(tài)(只讀)

0:該位數(shù)據(jù)已經(jīng)被讀走

1:上次讀取到該位的數(shù)據(jù)后,計(jì)數(shù)值達(dá)到了0

Bit 2:時(shí)鐘源選擇

0:外部時(shí)鐘源

1:內(nèi)核時(shí)鐘

Bit 1:中斷標(biāo)志位

0:計(jì)數(shù)到0不產(chǎn)生中斷

1:計(jì)數(shù)到0產(chǎn)生SysTick中斷

Bit 0:定時(shí)器使能位

0:關(guān)閉定時(shí)器

1:開啟定時(shí)器

4.2.2 重裝載數(shù)值寄存器LOAD

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
- ReLoad[7:0]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ReLoad[15:0]

ReLoad[23:0]:當(dāng)計(jì)數(shù)到0后,該寄存器的數(shù)據(jù)自動(dòng)更新到VAL中。

4.2.3 當(dāng)前數(shù)值寄存器VAL

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
- VAL[7:0]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
VAL[15:0]

VAL[23:0]:讀取時(shí)返回當(dāng)前倒計(jì)數(shù)的值,寫它:清零,同時(shí)還會(huì)清除在SysTick控制及狀態(tài)寄存器中的flag標(biāo)志。

4.2.4 校準(zhǔn)值寄存器CALIB

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
REF flag - TENMS[7:0]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TENMS[15:0]

Bit 31:外部參考時(shí)鐘可用標(biāo)志

0:外部參考時(shí)鐘可用

1:外部參考時(shí)鐘不可用

Bit 30:校準(zhǔn)值10ms標(biāo)志

0:校準(zhǔn)是準(zhǔn)確的10ms

1:校準(zhǔn)不是準(zhǔn)確的10ms

Bit 23~Bit 0:10ms的時(shí)間內(nèi)倒計(jì)數(shù)的格數(shù)。若該值讀回零,則表示無法使用校準(zhǔn)功能

4.3 SysTick驅(qū)動(dòng)函數(shù)

4.3.1 創(chuàng)建目錄

(1)在SYSTEM目錄下創(chuàng)建delay文件夾,并創(chuàng)建delay.c和delay.h文件。如下圖所示。

圖片

圖片

(2)將delay.c添加進(jìn)工程,delay.h添加進(jìn)程序。

圖片

圖片

(3)在delay.h文件中輸入如下內(nèi)容。

圖片

(4)底層寄存器文件添加寄存器組

圖片

(5)底層寄存器文件添加基礎(chǔ)地址

圖片

4.3.2 初始化

圖片

這里首先選擇外部時(shí)鐘源,由于系統(tǒng)時(shí)鐘72MHz,并且SYSTICK時(shí)鐘固定位系統(tǒng)時(shí)鐘的1/8,所以1us的計(jì)數(shù)脈沖實(shí)際是72/8,也就是9個(gè)脈沖才是1us,這個(gè)1us的脈沖數(shù)就是基礎(chǔ)時(shí)鐘。

4.3.3 us級(jí)別延時(shí)函數(shù)

圖片

4.3.4 ms級(jí)別延時(shí)函數(shù)

圖片

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

    關(guān)注

    68

    文章

    19882

    瀏覽量

    234974
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5433

    瀏覽量

    124349
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3298

    瀏覽量

    118797
  • Cortex-M
    +關(guān)注

    關(guān)注

    2

    文章

    231

    瀏覽量

    30371
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32學(xué)習(xí)及應(yīng)用筆記一:SysTick定時(shí)器學(xué)習(xí)及應(yīng)用

    時(shí)鐘(HCLK)8分頻后作為Cortex系統(tǒng)定時(shí)器(SysTick)的外部時(shí)鐘?!蓖瑯釉凇?b class='flag-5'>STM32F4xx參考手冊(cè)》和《STM32F7xx
    發(fā)表于 12-18 15:19

    STM32時(shí)鐘學(xué)習(xí)筆記

    MCU學(xué)習(xí)筆記STM32時(shí)鐘1. STM32時(shí)鐘類型2. 從程序的角度配置
    發(fā)表于 08-12 06:34

    STM32入門學(xué)習(xí)筆記 精選資料分享

    STM32入門學(xué)習(xí)筆記本文為筆者入門學(xué)習(xí)過程的記錄,只是零散的記錄了一些個(gè)人不太懂得,覺得需要經(jīng)
    發(fā)表于 08-24 07:56

    系統(tǒng)定時(shí)器Systick學(xué)習(xí)筆記

    單獨(dú)拿出來講的一個(gè)內(nèi)核外設(shè)(所以不要期望在STM32中文參考手冊(cè)找到它!即使找到也只會(huì)叫你看cm3內(nèi)核編程手冊(cè)),說明它真的很重要。STM32學(xué)習(xí)筆記(5)——系統(tǒng)定時(shí)器
    發(fā)表于 02-18 07:26

    芯達(dá)STM32入門系列教程之Systick編程入門資料

    芯達(dá)STM32入門系列教程之Systick編程入門資料
    發(fā)表于 10-16 08:59 ?10次下載
    芯達(dá)<b class='flag-5'>STM32</b><b class='flag-5'>入門</b>系列教程之<b class='flag-5'>Systick</b>編程<b class='flag-5'>入門</b>資料

    STM32各模塊學(xué)習(xí)筆記

    ..........................................................4 STM32筆記STM32中定時(shí)器的
    發(fā)表于 11-30 03:32 ?3248次閱讀

    STM32中的SysTick時(shí)鐘源來自哪里?

    STM32SysTick時(shí)鐘源來自哪里?
    的頭像 發(fā)表于 03-03 14:32 ?8301次閱讀

    MCU學(xué)習(xí)筆記_STM32時(shí)鐘

    MCU學(xué)習(xí)筆記STM32時(shí)鐘1. STM32時(shí)鐘類型2. 從程序的角度配置
    發(fā)表于 10-28 15:51 ?9次下載
    MCU<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>_<b class='flag-5'>STM32</b><b class='flag-5'>時(shí)鐘</b>

    STM32學(xué)習(xí)筆記SysTick

    Systick大有不同,于是作此學(xué)習(xí)筆記。Systick的兩大作用:1、可以產(chǎn)生精確的延時(shí)2、可以提供給操作系統(tǒng)一個(gè)單獨(dú)的心跳(時(shí)鐘)節(jié)拍通
    發(fā)表于 11-25 10:36 ?1次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b><b class='flag-5'>之</b><b class='flag-5'>SysTick</b>

    STM32學(xué)習(xí)筆記:系統(tǒng)滴答時(shí)鐘SysTick

    目錄1、什么是時(shí)鐘2、STM32時(shí)鐘SysTick是一個(gè)系統(tǒng)時(shí)鐘定時(shí)器,屬于ARM Cortex-Mx內(nèi)核的一個(gè)“內(nèi)設(shè)”,所有基于此內(nèi)核的
    發(fā)表于 11-29 09:51 ?0次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>:系統(tǒng)滴答<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>SysTick</b>

    STM32—關(guān)于SYSTICK系統(tǒng)時(shí)鐘的詳解及學(xué)習(xí)筆記

    SysTick_Handler中也無需對(duì)中斷標(biāo)志進(jìn)行清零(參考exit外部中斷服務(wù)函數(shù))2.要注意的是關(guān)于systick其實(shí)有兩個(gè)關(guān)鍵函數(shù),SySTick_Config,SysTick
    發(fā)表于 11-30 15:51 ?15次下載
    <b class='flag-5'>STM32</b>—關(guān)于<b class='flag-5'>SYSTICK</b>系統(tǒng)<b class='flag-5'>時(shí)鐘</b>的詳解及<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>

    Stm32入門——Systick定時(shí)器

    Stm32入門——Systick定時(shí)器Systick定時(shí)器是什么?從原理上來說,Systick定時(shí)器和開發(fā)板上的通用定時(shí)器沒有區(qū)別。從功能上
    發(fā)表于 12-07 17:51 ?12次下載
    <b class='flag-5'>Stm32</b><b class='flag-5'>入門</b>——<b class='flag-5'>Systick</b>定時(shí)器

    STM32學(xué)習(xí)筆記(5)——系統(tǒng)定時(shí)器SysTick

    單獨(dú)拿出來講的一個(gè)內(nèi)核外設(shè)(所以不要期望在STM32中文參考手冊(cè)找到它!即使找到也只會(huì)叫你看cm3內(nèi)核編程手冊(cè)),說明它真的很重要。STM32學(xué)習(xí)筆記(5)——系統(tǒng)定時(shí)器
    發(fā)表于 12-23 19:56 ?4次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>(5)——系統(tǒng)定時(shí)器<b class='flag-5'>SysTick</b>

    初學(xué)stm32-Systick滴答時(shí)鐘定時(shí)

    系統(tǒng)的心跳時(shí)鐘。這樣可以節(jié)省MCU資源,不用浪費(fèi)一個(gè)定時(shí)器。比如uCOS中,分時(shí)復(fù)用,需要一個(gè)最小的時(shí)間戳,一般在STM32+UCOS系統(tǒng)中,都采用Systick做uCOS心跳時(shí)鐘。
    發(fā)表于 12-31 19:46 ?15次下載
    初學(xué)<b class='flag-5'>stm32-Systick</b>滴答<b class='flag-5'>時(shí)鐘</b>定時(shí)

    STM32SysTick時(shí)鐘源來自哪里?

    STM32SysTick時(shí)鐘源來自哪里?
    的頭像 發(fā)表于 10-26 15:58 ?2610次閱讀
    <b class='flag-5'>STM32</b>的<b class='flag-5'>SysTick</b><b class='flag-5'>時(shí)鐘</b>源來自哪里?