欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

淺析STM32 Systick查詢定時的處理過程

冬至子 ? 來源:紛紜雜談 ? 作者:CY_CHEN ? 2023-07-21 17:47 ? 次閱讀

STM32處理器有一個24位的系統(tǒng)滴答定時器SysTick,它從重新加載值開始倒數(shù)到0,然后在下一個時鐘邊緣重新加載(包裝到)STK_LOAD寄存器中的值,然后在隨后的時鐘上倒數(shù)。

圖片

計數(shù)標志位COUNTFLAG在系統(tǒng)控制和狀態(tài)寄存器STK_CTRL的16位,當計時器減計數(shù)到0時,返回1。

時鐘源選擇位CLKSOURCE在系統(tǒng)控制和狀態(tài)寄存器STK_CTRL的2位,賦值為0時為8分頻,賦值為1時為1分頻。想要計數(shù)速度更快可以選擇1分頻的時鐘源。

SysTick異常請求允許位TICKINT在系統(tǒng)控制和狀態(tài)寄存器STK_CTRL的1位,賦值為0時禁止異常請求,賦值為1時允許異常請求。軟件可以使用COUNTFLAG來判斷SysTick是否曾經(jīng)被計數(shù)為零。

計數(shù)使能位在系統(tǒng)控制和狀態(tài)寄存器STK_CTRL的0位,賦值0時禁止計數(shù),賦值1時使能計數(shù)。

圖片

重裝載值RELOAD在SysTick重載值寄存器STK_LOAD的0~23位,加載寄存器指定在啟用計數(shù)器時和計數(shù)器達到0時加載到當前值寄存器STK_VAL的起始值。

圖片

當前的計數(shù)器值CURRENT在當前值寄存器STK_VAL的1~23位。前值寄存器STK_VALSysTick計數(shù)器的當前值。讀取返回SysTick計數(shù)器的當前值。任何值的寫入都會將字段清除為0,并將STK_CTRL寄存器中的COUNTFLAG位清除為0。

查詢us、ms延時函數(shù)

void Systick_Delayus(u32 us)
{
  SysTick- >CTRL &=~ (1< 2);                   //選擇時鐘源,8分頻 
  SysTick- >LOAD  =  21*us - 1;                //賦值裝載值
  SysTick- >VAL   =    0;                      //清除當前值
  SysTick- >CTRL  |=  1< 0;                    //使能計數(shù)器
  while((SysTick- >CTRL  &  (1< 16)) == 0);    //判斷計數(shù)是否結(jié)束
  SysTick- >CTRL  &=~  (1< 0);                 //禁止計數(shù)器
}
void Systick_Delayms(u16 ms)
{
  Systick_Delayus(ms * 1000);
}

圖片

從時鐘樹可以知道,系統(tǒng)時鐘168Mhz,8分頻后得到滴答定時器時鐘為21Mhz,裝載值(需要延時時間)可根據(jù)時鐘頻率計算求得,每秒可計數(shù)21000000次,每微秒可計數(shù)21次。裝載值和當前值都是24位,最大為16777215,最大微秒定時798915us,最大毫秒定時798ms。

結(jié)合LED燈和Systick定時讓LED燈500ms閃爍一次,主函數(shù)為

#include "stm32f4xx.h"
#include "led.h"
#include "delay.h"


int main()
{
  LED_Init();              //初始化LED燈

  while(1)                //點亮或熄滅LED燈
  {
    GPIOH- >ODR      &=~    (0x01< 10);      //輸出為0,led燈亮
    GPIOH- >ODR      &=~    (0x01< 11);      //輸出為0,led燈亮
    Systick_Delayus(500000);
    GPIOH- >ODR      |=    (0x01< 10);      //輸出為1,led燈滅
    GPIOH- >ODR      |=    (0x01< 11);      //輸出為1,led燈滅
    Systick_Delayms(500);
  }
}

編譯成功后將程序燒入,LED每500ms閃爍一次,Systick查詢定時成功。

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

    關(guān)注

    22

    文章

    1592

    瀏覽量

    108452
  • 計數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2274

    瀏覽量

    95034
  • 狀態(tài)寄存器
    +關(guān)注

    關(guān)注

    0

    文章

    39

    瀏覽量

    7149
  • Systick
    +關(guān)注

    關(guān)注

    0

    文章

    62

    瀏覽量

    13155
  • STM32處理器
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    1145
收藏 人收藏

    評論

    相關(guān)推薦

    STM32 SYSTICK定時器常見問題

    我們知道,STM32庫函數(shù)里通常使用來自內(nèi)核的系統(tǒng)定時SYSTICK作為時基,實現(xiàn)計數(shù)延時。一般來講,ST公司提供的庫函數(shù)里將SYSTICK定時
    發(fā)表于 09-13 16:20 ?3135次閱讀

    數(shù)字電視的典型的處理過程

    典型的處理過程 下面介紹數(shù)字電視的幾個典型的處理過程。
    發(fā)表于 07-31 14:23 ?1558次閱讀
    數(shù)字電視的典型的<b class='flag-5'>處理過程</b>

    淺析單片機中斷處理過程

    中斷處理過程可分為中斷響應(yīng)、中斷處理和中斷返回三個階段。
    的頭像 發(fā)表于 11-06 14:31 ?1.8w次閱讀
    <b class='flag-5'>淺析</b>單片機中斷<b class='flag-5'>處理過程</b>

    STM32單片機對Systick心跳定時器的設(shè)計

    用途: 1.產(chǎn)生操作系統(tǒng)的時鐘節(jié)拍 2.便于不同處理器之間程序移植 SysTick定時器被捆綁在NVIC中,異常號15 3.作為一個鬧鈴測量時間用于測量時間, 但當
    發(fā)表于 12-11 15:44 ?4220次閱讀

    什么是SysTick定時器?實現(xiàn)STM32時鐘系統(tǒng)的詳細資料說明

    什么是SysTick定時器?實現(xiàn)STM32時鐘系統(tǒng)的詳細資料說明主要內(nèi)容包括了:Systick原理和配置方法,ALIENTEK 延時函數(shù)delay講解
    發(fā)表于 01-02 08:00 ?3次下載
    什么是<b class='flag-5'>SysTick</b><b class='flag-5'>定時</b>器?實現(xiàn)<b class='flag-5'>STM32</b>時鐘系統(tǒng)的詳細資料說明

    如何使用STM32單片機systick來實現(xiàn)延時定時功能

    1、前言 CM4內(nèi)核的處理和CM3一樣,內(nèi)部都包含了一個SysTick定時器,SysTick 是一個24 位的倒計數(shù)定時器,當計到0 時,將
    的頭像 發(fā)表于 02-14 06:25 ?6948次閱讀
    如何使用<b class='flag-5'>STM32</b>單片機<b class='flag-5'>systick</b>來實現(xiàn)延時<b class='flag-5'>定時</b>功能

    【野火指南者】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次下載
    【野火指南者】<b class='flag-5'>STM32</b>F103延時函數(shù)及其系統(tǒng)<b class='flag-5'>定時</b>器—<b class='flag-5'>SysTick</b>

    STM32 Systick系統(tǒng)定時

    @STM32 Systick系統(tǒng)定時器#簡介在之前的實驗中,我們只用到的delay函數(shù)通過while語句做循環(huán)的方式來占用時間,達到延時的目的。但是這種方式延時的時間不好把控,無法應(yīng)用于更加
    發(fā)表于 11-25 10:06 ?6次下載
    <b class='flag-5'>STM32</b> <b class='flag-5'>Systick</b>系統(tǒng)<b class='flag-5'>定時</b>器

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

    的Cortex-M內(nèi)核的單片機都具有這個定時器?!?b class='flag-5'>STM32參考手冊》里的一句話:關(guān)于Cortex-M3核心、 SysTick定時器和NVIC的詳細說明,請參考另一篇ST的文檔和一篇A
    發(fā)表于 12-01 15:06 ?8次下載
    <b class='flag-5'>STM32</b>入門(十五)----<b class='flag-5'>SysTick</b>系統(tǒng)<b class='flag-5'>定時</b>器

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

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

    Stm32入門——Systick定時

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

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

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

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

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

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

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

    STM32SysTick滴答定時器(delay延時函數(shù)講解)

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