18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

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

SysTick系統(tǒng)滴答定時(shí)器簡介

瑞薩嵌入式小百科 ? 來源:野火電子 ? 2025-09-23 09:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第16章

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

本章參考資料

《DEFINITIVE GUIDE TO ARM CORTEX-M23 AND CORTEX-M33 PROCESSORS》-11.2章節(jié)SysTick Timer,《Cortex-M3內(nèi)核編程手冊》-4.5章節(jié)SysTick Timer(STK),和4.48章節(jié)SHPRx,這個(gè)章節(jié)有SysTick的簡介和寄存器的詳細(xì)描述。因?yàn)镾ysTick是屬于CORTEX-M33內(nèi)核的外設(shè),有關(guān)寄存器的定義和部分庫函數(shù)都在core_cm33.h這個(gè)頭文件中實(shí)現(xiàn)。所以學(xué)習(xí)SysTick的時(shí)候可以參考這兩個(gè)資料,一個(gè)是文檔,一個(gè)是源碼。

16.1

SysTick系統(tǒng)滴答定時(shí)器簡介

SysTick—系統(tǒng)定時(shí)器是屬于CM33內(nèi)核中的一個(gè)外設(shè),內(nèi)嵌在NVIC中。系統(tǒng)定時(shí)器是一個(gè)24bit的向下遞減的計(jì)數(shù)器,計(jì)數(shù)器每計(jì)數(shù)一次的時(shí)間為 1/SYSCLK,一般我們設(shè)置系統(tǒng)時(shí)鐘SYSCLK等于 200MHz。當(dāng)重裝載數(shù)值寄存器的值遞減到0的時(shí)候,系統(tǒng)定時(shí)器就產(chǎn)生一次中斷,以此循環(huán)往復(fù)。

因?yàn)镾ysTick是屬于CM33內(nèi)核的外設(shè),所以所有基于CM33內(nèi)核的單片機(jī)都具有這個(gè)系統(tǒng)定時(shí)器,使得軟件在CM33單片機(jī)中可以很容易的移植。系統(tǒng)定時(shí)器一般用于操作系統(tǒng),用于產(chǎn)生時(shí)基,維持操作系統(tǒng)的心跳。

16.2

SysTick寄存器介紹

SysTick—系統(tǒng)定時(shí)器有4個(gè)寄存器,簡要介紹如下。在使用SysTick產(chǎn)生定時(shí)的時(shí)候,只需要配置前三個(gè)寄存器,最后一個(gè)校準(zhǔn)寄存器不需要使用。

表1:表17?1 SysTick寄存器匯總

2d934a62-92b3-11f0-8c8f-92fbcf53809c.png

表2:表17?2 SysTick控制及狀態(tài)寄存器

2df02066-92b3-11f0-8c8f-92fbcf53809c.png

表3:表17?3 SysTick重裝載數(shù)值寄存器

2e5e064e-92b3-11f0-8c8f-92fbcf53809c.png

表4:表17?4 SysTick當(dāng)前數(shù)值寄存器

2ec0b6c2-92b3-11f0-8c8f-92fbcf53809c.png

表5:表17?5 SysTick校準(zhǔn)數(shù)值寄存器

2f1c1a3a-92b3-11f0-8c8f-92fbcf53809c.png

系統(tǒng)定時(shí)器的校準(zhǔn)數(shù)值寄存器在定時(shí)實(shí)驗(yàn)中不需要用到。本章不會(huì)詳細(xì)講解該寄存器,感興趣的讀者可自行研究。

16.3

使用SysTick定時(shí)實(shí)驗(yàn)

利用SysTick產(chǎn)生1s的時(shí)基,LED以1s的頻率閃爍。

16.3.1

硬件設(shè)計(jì)

SysTick屬于單片機(jī)內(nèi)部的外設(shè),不需要額外的硬件電路,剩下的只需一個(gè)LED燈即可。

16.3.2

軟件設(shè)計(jì)

這里只講解核心的部分代碼,有些變量的設(shè)置,頭文件的包含等并沒有涉及到,完整的代碼請(qǐng)參考本章配套的工程。我們創(chuàng)建了兩個(gè)文件:bsp_SysTick.c和bsp_SysTick.h文件用來存放 SysTick驅(qū)動(dòng)程序,中斷服務(wù)函數(shù)及相關(guān)宏定義。

16.3.2.1

編程要點(diǎn)

設(shè)置重加載寄存器的值

清除當(dāng)前數(shù)值寄存器的值

配置控制與狀態(tài)寄存器

16.3.2.2

代碼分析

SysTick屬于內(nèi)核的外設(shè),有關(guān)的寄存器定義和庫函數(shù)都在內(nèi)核相關(guān)的庫文件core_cm33.h中。

16.3.2.2.1SysTick配置庫函

列表1:代碼清單17?1 SysTick配置庫函數(shù)

左右滑動(dòng)查看完整內(nèi)容

__STATIC_INLINEuint32_tSysTick_Config(uint32_tticks)
{
// 不可能的重加載值,超出范圍
if((ticks -1UL) > SysTick_LOAD_RELOAD_Msk) {
return(1UL);
}


// 設(shè)置重加載寄存器
SysTick->LOAD = (uint32_t)(ticks -1UL);


// 設(shè)置中斷優(yōu)先級(jí)
NVIC_SetPriority(SysTick_IRQn, (1UL<< __NVIC_PRIO_BITS) -?1UL);


// 設(shè)置當(dāng)前數(shù)值寄存器
SysTick->VAL =0UL;


// 設(shè)置系統(tǒng)定時(shí)器的時(shí)鐘源為 ICLK=200M
// 使能系統(tǒng)定時(shí)器中斷
// 使能定時(shí)器
SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk |
SysTick_CTRL_TICKINT_Msk |
SysTick_CTRL_ENABLE_Msk;
return(0UL);
}

用固件庫編程的時(shí)候我們只需要調(diào)用庫函數(shù) SysTick_Config()即可,形參ticks用來設(shè)置重加載寄存器的值,最大不能超過重加載寄存器的值224,當(dāng)重加載寄存器的值遞減到0的時(shí)候產(chǎn)生中斷,然后重加載寄存器的值又重新被裝載并再次遞減計(jì)數(shù),以此循環(huán)往復(fù)。緊隨其后設(shè)置好中斷優(yōu)先級(jí),最后配置系統(tǒng)定時(shí)器的時(shí)鐘等于ICLK=200M,使能定時(shí)器和定時(shí)器中斷,這樣系統(tǒng)定時(shí)器就配置好了,一個(gè)庫函數(shù)搞定。

SysTick_Config()庫函數(shù)主要配置了SysTick中的三個(gè)寄存器:LOAD、VAL和CTRL,有關(guān)具體

的部分看代碼注釋即可。

16.3.2.2.2配置SysTick中斷優(yōu)先級(jí)

SysTick_Config()庫函數(shù)主要配置了SysTick中的三個(gè)寄存器:LOAD、VAL和CTRL,有關(guān)具體的部分看代碼注釋即可。其中還調(diào)用了函數(shù)庫函數(shù) NVIC_SetPriority()來配置系統(tǒng)定時(shí)器的中斷優(yōu)先級(jí),該庫函數(shù)也在core_cm33.h中定義,原型如下:

列表2:代碼清單17?2 NVIC中斷優(yōu)先級(jí)配置函數(shù)

左右滑動(dòng)查看完整內(nèi)容

__STATIC_INLINEvoid__NVIC_SetPriority(IRQn_Type IRQn,uint32_tpriority)
{
if((int32_t)(IRQn) >=0)
{
NVIC->IPR[((uint32_t)IRQn)] = (uint8_t)((priority << (8U?- __NVIC_
→PRIO_BITS)) & (uint32_t)0xFFUL);
}
else
{
SCB->SHPR[(((uint32_t)IRQn) &0xFUL)-4UL] = (uint8_t)((priority <

2fe17bcc-92b3-11f0-8c8f-92fbcf53809c.png

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

    關(guān)注

    6071

    文章

    45265

    瀏覽量

    660755
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    4

    文章

    1431

    瀏覽量

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

    關(guān)注

    23

    文章

    3349

    瀏覽量

    121142
  • Systick
    +關(guān)注

    關(guān)注

    0

    文章

    66

    瀏覽量

    13816

原文標(biāo)題:SysTick系統(tǒng)定時(shí)器——瑞薩RA系列FSP庫開發(fā)實(shí)戰(zhàn)指南(41)

文章出處:【微信號(hào):瑞薩嵌入式小百科,微信公眾號(hào):瑞薩嵌入式小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    系統(tǒng)滴答定時(shí)器SYSTICK

    二、系統(tǒng)滴答定時(shí)器SYSTICK學(xué)習(xí)了cm3系統(tǒng)系統(tǒng)滴答
    發(fā)表于 12-25 23:54

    STM32 SysTick定時(shí)器簡介

    STM32 SysTick定時(shí)器簡介概念及工作原理概念定時(shí)器,能夠定時(shí),計(jì)數(shù)的器件稱之為定時(shí)器
    發(fā)表于 08-18 06:56

    對(duì)于Systick滴答定時(shí)器的理解

    在ARM Cortex-M3內(nèi)核中有一個(gè)Systick定時(shí)器,一個(gè)24bit的倒計(jì)數(shù)定時(shí)器,當(dāng)計(jì)數(shù)到0時(shí),它就會(huì)從Load寄存中自動(dòng)重裝定時(shí)
    發(fā)表于 08-18 08:01

    Systick定時(shí)器簡介

    Systick定時(shí)器簡介Systick定時(shí)器就是系統(tǒng)滴答
    發(fā)表于 08-19 07:02

    最簡單的滴答定時(shí)器程序簡介

    最簡單的滴答定時(shí)器程序簡介SysTick實(shí)驗(yàn)配置步驟和方法1.設(shè)置滴答的次數(shù)2.設(shè)置時(shí)長3.停止計(jì)數(shù)實(shí)驗(yàn)代碼
    發(fā)表于 01-20 08:16

    SysTick系統(tǒng)定時(shí)器

    程序簡介 -工程名稱:SysTick系統(tǒng)定時(shí)器 -實(shí)驗(yàn)平臺(tái): 秉火STM32 F429 開發(fā)板 -MDK版本:5.16 -ST固件庫版本:1.5.1 【 !】功能
    發(fā)表于 12-12 19:12 ?7次下載

    stm32的systick滴答定時(shí)器)實(shí)現(xiàn)精準(zhǔn)延時(shí)

    stm32具有systick定時(shí)器,該外設(shè)屬于內(nèi)核外設(shè),時(shí)鐘一般選擇系統(tǒng)時(shí)鐘的8分頻。使能后,計(jì)數(shù)寄存遞減到0后,會(huì)自動(dòng)重裝值。需要注意的是滴答
    發(fā)表于 11-23 18:21 ?10次下載
    stm32的<b class='flag-5'>systick</b>(<b class='flag-5'>滴答</b><b class='flag-5'>定時(shí)器</b>)實(shí)現(xiàn)精準(zhǔn)延時(shí)

    利用systick實(shí)現(xiàn)1s定時(shí)

    滴答定時(shí)器簡介系統(tǒng)定時(shí)器SysTick是屬于CM3內(nèi)核中的一個(gè)外設(shè),相關(guān)寄存
    發(fā)表于 11-25 11:06 ?26次下載
    利用<b class='flag-5'>systick</b>實(shí)現(xiàn)1s<b class='flag-5'>定時(shí)</b>

    STM32入門(十五)----SysTick系統(tǒng)定時(shí)器

    SysTick系統(tǒng)定時(shí)器SysTick簡介SysTick框圖
    發(fā)表于 12-01 15:06 ?8次下載
    STM32入門(十五)----<b class='flag-5'>SysTick</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>定時(shí)器</b>

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

    CM3,CM4內(nèi)核芯片,都有Systick定時(shí)器。Systick定時(shí)器常用來做延時(shí),或者實(shí)時(shí)系統(tǒng)的心跳時(shí)鐘。這樣可以節(jié)省MCU資源,不用浪費(fèi)
    發(fā)表于 12-01 15:21 ?15次下載
    STM32F4: <b class='flag-5'>Systick</b><b class='flag-5'>滴答</b><b class='flag-5'>定時(shí)器</b>-延時(shí)函數(shù)講解(五)

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

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

    SysTick 定時(shí)器

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

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

    SysTick系統(tǒng)定時(shí)器文章目錄SysTick系統(tǒng)定時(shí)器一、 概念1-1
    發(fā)表于 12-23 20:01 ?1次下載
    STM32筆記(七)---<b class='flag-5'>Systick</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>定時(shí)器</b>

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

    滴答時(shí)鐘的實(shí)現(xiàn)滴答定時(shí)器概述滴答定時(shí)器相關(guān)函數(shù)滴答定時(shí)器
    發(fā)表于 12-31 19:46 ?15次下載
    初學(xué)stm32-<b class='flag-5'>Systick</b><b class='flag-5'>滴答</b>時(shí)鐘<b class='flag-5'>定時(shí)</b>

    【STM32】SysTick滴答定時(shí)器(delay延時(shí)函數(shù)講解)

    Systick定時(shí)器,是一個(gè)簡單的定時(shí)器,對(duì)于CM3、CM4內(nèi)核芯片,都有Systick定時(shí)器Syst
    發(fā)表于 02-10 10:35 ?13次下載
    【STM32】<b class='flag-5'>SysTick</b><b class='flag-5'>滴答</b><b class='flag-5'>定時(shí)器</b>(delay延時(shí)函數(shù)講解)