女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

個人對STM32 SysTick的總結(寄存器操作)

撞上電子 ? 2024-01-06 08:00 ? 次閱讀

一、概述:

SysTick是一個簡單的遞減24位計數器。如果你不需要再應用程序中嵌入操作系統,SysTick可以作為簡單的延時和產生周期性的中斷。

狀態控制寄存器的第0位可以使能計數器,當前值寄存器隨著時鐘一直遞減,當他減到0的時候,重裝載寄存器就會重新裝載這只的值,計數器繼續從這個值遞減。


二、相關寄存器:

2.1SysTick->CTRL 狀態和控制寄存器

a6b115d4-ac26-11ee-aa22-92fbcf53809c.jpg

位16:當前值寄存器遞減到0,位16置1

位2:時鐘源選擇位,0:使用外部參考時鐘;1:使用內核時鐘

位1:使能SysTick中斷,當前值寄存器遞減到0時產生中斷

位0:SysTick時鐘使能


2.2SysTick->LOAD 重裝載值寄存器

a6bd978c-ac26-11ee-aa22-92fbcf53809c.jpg

當前值寄存器為0時,自動將重裝載值重裝到當前值計數器,重裝載值的大小需要自己設置。


2.3 SysTick->VAL當前值寄存器

a6c179d8-ac26-11ee-aa22-92fbcf53809c.jpg

可讀可寫,當計數器使能時,這個寄存器的值開始遞減,使用前后注意清零。

三、SysTick邏輯圖

a6c58bd6-ac26-11ee-aa22-92fbcf53809c.jpg

a6d2c760-ac26-11ee-aa22-92fbcf53809c.jpg


四、時鐘頻率與延時

4.1時鐘選擇采用參考8分頻的參考時鐘比較準,所以此處SysTick計數器選擇21M的時鐘。

a6e0a4c0-ac26-11ee-aa22-92fbcf53809c.jpg

4.2如何延時1us時鐘頻率為21M,也就是1s的時間技術21M次。由此可知計數一次用了 (1/21000000)s ,用了(1/21000)ms, 用了(1/21) us,所以,1us計數21次。
4.3如何延時1ms因為1ms = 1000us,所以綜上所述,1ms計數1000*21次計數,1ms也就是21000次計數
4.4最大延時24位計數器能保存的最大值 : 16777215。最大延時時間=16777215 /21=798915us=798.915ms

五、示例代碼

#include "delay.h"

#define Value_us 21#define Value_ms 21000

void delay_init(void){ SysTick->CTRL &= (1 << 2); //控制寄存器位2置0,選擇8分頻時鐘 SysTick->CTRL &= ~(1 << 0); //關閉計數器}void delay_us(u32 num){ SysTick->LOAD = num * Value_us; SysTick->VAL = 0; SysTick->CTRL |= (1 << 0); //使能計數器 while (!(SysTick->CTRL & 1<<16)); //判斷是否計數完畢 SysTick->VAL = 0; SysTick->CTRL &= ~(1 << 0); //關閉計數器 }void delay_ms(u32 num){ SysTick->LOAD = num * Value_ms; SysTick->VAL = 0; SysTick->CTRL |= (1 << 0); //使能計數器 while (!(SysTick->CTRL & 1<<16)); SysTick->VAL = 0; SysTick->CTRL &= ~(1 << 0); //關閉計數器 }

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5412

    瀏覽量

    123114
  • STM32
    +關注

    關注

    2288

    文章

    10998

    瀏覽量

    361942
  • 計數器
    +關注

    關注

    32

    文章

    2283

    瀏覽量

    95974
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    SysTick的定義與相關寄存器詳解

    一、概述:SysTick是一個簡單的遞減24位計數如果你不需要再應用程序中嵌入操作系統,SysTick可以作為簡單的延時和產生周期性的中斷;狀態控制
    發表于 01-05 07:26

    SysTick寄存器介紹

    設置系統時鐘SYSCLK 等于72M。當重裝載數值寄存器的值遞減到0 的時候,系統定時就產生一次中斷,以此循環往復。SysTick 寄存器介紹Sy
    發表于 01-21 11:37

    stm32標準例程-寄存器

    stm32標準例程-寄存器版本的源代碼,57個實驗例程,從跑馬燈到操作系統,全方位學習stm32開發
    發表于 11-26 16:17 ?0次下載

    ARM寄存器學習總結

    ARM寄存器學習總結
    發表于 01-04 15:10 ?0次下載

    寄存器操作方法的經驗和其總結

    接觸了一陣子的STM32函數庫,使用起來挺方便的,但是很少有處理會有函數庫,大部分情況下還是要自己來對寄存器進行操作,所以還是不要生疏了對寄存器
    的頭像 發表于 12-19 09:30 ?8903次閱讀
    對<b class='flag-5'>寄存器</b><b class='flag-5'>操作</b>方法的經驗和其<b class='flag-5'>總結</b>

    寄存器操作方法_對寄存器操作的通用方法總結

    本文主要詳解寄存器操作方法以及對寄存器操作的通用方法總結,具體的跟隨小編來了解一下。
    的頭像 發表于 05-22 15:53 ?2.4w次閱讀

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

    STM32F1 庫函數中,并沒有提供相應的 SysTick 定時配置函數,我們要操作 SysTick 定時
    的頭像 發表于 02-11 15:37 ?1.8w次閱讀
    <b class='flag-5'>SysTick</b>定時<b class='flag-5'>器</b>介紹,<b class='flag-5'>SysTick</b>定時<b class='flag-5'>器</b><b class='flag-5'>寄存器</b>

    STM32F103:精準延時delay——SysTick使用

    處理的微控制都可以由這個定時獲得一定的時間間隔。2. SysTick相關寄存器狀態寄存器-
    發表于 12-02 18:36 ?10次下載
    <b class='flag-5'>STM32</b>F103:精準延時delay——<b class='flag-5'>SysTick</b>使用

    STM32 使用寄存器編寫SysTick定時

    STM32 使用寄存器編寫SysTick定時STM32入門一定要搞清楚定時可以通過syste
    發表于 12-04 11:51 ?2次下載
    <b class='flag-5'>STM32</b> 使用<b class='flag-5'>寄存器</b>編寫<b class='flag-5'>SysTick</b>定時<b class='flag-5'>器</b>

    STM32學習筆記(2)——寄存器

    STM32 第二天寄存器寄存器功能:寄存器的功能是存儲二進制代碼,它是由具有存儲功能的觸發組合起來構成的。一個觸發
    發表于 12-08 17:36 ?18次下載
    <b class='flag-5'>STM32</b>學習筆記(2)——<b class='flag-5'>寄存器</b>

    帶你模仿正點原子編程風格到深入學習寄存器并手把手編寫STM32F103寄存器程序(SYSTICK滴答時鐘之delay延時)

    帶你模仿正點原子到寄存器編寫–SYSTICK(delay函數)以下是本篇文章正文內容,下面案例可供參考鄧家文-廣州華軟軟件學院一、 前提了解系統時鐘systickSTM32內部的硬件
    發表于 12-08 18:21 ?0次下載
    帶你模仿正點原子編程風格到深入學習<b class='flag-5'>寄存器</b>并手把手編寫<b class='flag-5'>STM32</b>F103<b class='flag-5'>寄存器</b>程序(<b class='flag-5'>SYSTICK</b>滴答時鐘之delay延時)

    stm32是如何將寄存器值通過標準庫寫入寄存器的?

    GPIO_Init函數3.總結0. 前言在平時的學習和工作中,可能很少有人會實際去操作寄存器,但是去了解庫函數是如何去操作寄存器是很有必要
    發表于 12-16 16:58 ?18次下載
    <b class='flag-5'>stm32</b>是如何將<b class='flag-5'>寄存器</b>值通過標準庫寫入<b class='flag-5'>寄存器</b>的?

    [學習筆記]STM32F1 SYSTICK 滴答定時(寄存器、標準庫、HAL庫)

    目錄0. 博主理解:1. 實驗內容及步驟:2. 硬件說明3. 寄存器說明3.1 SysTick的時鐘和使能:3.2 SysTick重裝載數值寄存器:3.3
    發表于 12-23 20:02 ?7次下載
    [學習筆記]<b class='flag-5'>STM32</b>F1 <b class='flag-5'>SYSTICK</b> 滴答定時<b class='flag-5'>器</b>(<b class='flag-5'>寄存器</b>、標準庫、HAL庫)

    STM32寄存器操作

    STM32寄存器操作在使用STM32單片機編程時一般都用ST給的庫函數編程,庫函數編程的底層就是對單片機寄存器
    發表于 01-13 15:43 ?19次下載
    <b class='flag-5'>STM32</b>的<b class='flag-5'>寄存器</b><b class='flag-5'>操作</b>

    RAL寄存器模型操作指南

    寄存器模型操作,指的是通過寄存器模型對RTL中寄存器進行讀寫訪問,或者同步寄存器模型與RTL中寄存器
    的頭像 發表于 07-12 09:37 ?1308次閱讀
    RAL<b class='flag-5'>寄存器</b>模型<b class='flag-5'>操作</b>指南