色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

CW32系統滴答SysTick定時器介紹

武漢芯源半導體有限公司 ? 2023-01-05 13:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Cortex-M0+處理器中內置有一個SysTick定時器,通常用于嵌入式操作系統的多任務切換,在不使用操作系統的應用中,亦可作為其它用途,如定時、計時或者為需要周期性執行的任務提供中斷源。

1.SysTick工作原理

SysTick定時器內部含有一個24位的遞減計數器,當計數減至0時,會從SysTick的重裝載寄存器中取值作為計數器的初始值,同時可以選擇在這個時候產生中斷(異常號:15)。例如設置重裝載寄存器為100,那么當計數減為0時,就會重新復位為100繼續遞減計數。

它的特點是:

? 24 位遞減計數器

? 自動重裝載能力

? 當計數器達到 0 時產生可屏蔽的系統中斷

2.SysTick寄存器介紹

在core_cm0plus.h中展示了四種寄存器,我們將一一介紹:

typedef struct

{

__IOM uint32_t CTRL;

/*!< Offset: 0x000 (R/W)? SysTick Control and Status Register */

__IOM uint32_t LOAD;

/*!< Offset: 0x004 (R/W)? SysTick Reload Value Register */

__IOM uint32_t VAL;

/*!< Offset: 0x008 (R/W)? SysTick Current Value Register */

__IM uint32_t CALIB;

/*!< Offset: 0x00C (R/ )? SysTick Calibration Register */

} SysTick_Type;

IOM uint32_t CTRL控制寄存器:

第0位:ENABLE,SysTick使能位(0:關閉SysTick功能,1:開啟SysTick功能);

第1位:TICKINT,SysTick中斷使能位(0:關閉SysTick中斷,1:開啟SysTick中斷);

第2位:CLKSOURCE,SysTick時鐘選擇(1:使用HCLK,0:使用參考時鐘頻率);

第3為:COUNTFLAG,SysTick計數比較標志,如果在上次讀取本寄存器后,SysTick已經數到0了,則該位為1,如果讀取該位,該位自動清零。

__IOM uint32_t LOAD重載寄存器:

24位的寄存器,最大計數0xFFFFFF。當SysTick計數器遞減至0時,重載寄存器中的值就會被重裝載,繼續開始遞減。

__IOM uint32_t VAL當前值寄存器:

24位的寄存器,讀取時返回當前計數器的計數值,寫任何值都會使之清零,同時還會清除SysTick 控制寄存器中的COUNTFLAG 標志。

__IM uint32_t CALIB校準值寄存器:

只讀寄存器,主要存放10mS校準值,該值和MCU相關。

3.操控SysTick定時器

在MDK開發環境中,我們不必要非得去操作每一個寄存器,可以通過調用CW函數庫中的函數來進行相關的操作。

void InitTick(uint32_t HclkFreq)

初始化SysTick滴答定時器,帶入的參數為HCLK的頻率,如HCLK為24MHz,則帶入參數為24000000。該函數會調用uint32_t SysTick_Config(uint32_t ticks)函數完成SysTick定時器的相關配置并啟動。SysTick默認為1mS定時器,如果需要修改定時周期,則需要修改uint32_t SysTick_Config(uint32_t ticks)函數中重裝載值寄存器配置。

__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)

初始化系統計時器及其中斷,并啟動。

(1) SysTick->LOAD = (uint32_t)(ticks - 1UL);

設置SysTick重裝載值

(2)NVIC_SetPriority(SysTick_IRQn,

(1UL << __NVIC_PRIO_BITS) - 1UL);? ? ? ? ? ? ? ? ? ? ? ??

設置SysTick定時器中斷優先級

(3) Tick->VAL = 0UL;

加載SysTick計數器值

(4) SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk |

SysTick_CTRL_TICKINT_Msk |

SysTick_CTRL_ENABLE_Msk;

設置SysTick IRQ中斷使能,并開啟SysTick定時器

4.Systick延時功能實現

對于mS級及以上的延時,可在完成SysTick定時器初始化后,通過SysTickDelay(uint32_t Delay)函數來實現,該函數的形參為需要延時的mS數。

對于uS級延時,一般通過調整__NOP 空指令數量來實現,不建議用SysTick定時器來實現,主要原因是M0+系統中固有的中斷響應時間(壓棧和出棧)、中斷處理時間等會影響uS延時精度。

int main(void)

{

__RCC_GPIOC_CLK_ENABLE(); //設置HCLK為24MHz

InitTick( 24000000 ); //初始化SysTick為1mS定時器

GPIO_InitTypeDef GPIO_InitStructure1 = {0} ; //初始化對應GPIO口

GPIO_InitStructure1.Pins = GPIO_PIN_3 ;

GPIO_InitStructure1.IT = GPIO_IT_NONE;

GPIO_InitStructure1.Mode = GPIO_MODE_OUTPUT_PP;

GPIO_Init(CW_GPIOC, &GPIO_InitStructure1);

PC03_SETHIGH(); // LED燈置高電平,低電平有效

while(1)

{

PC03_TOG(); //PC03口電平反轉

SysTickDelay (100);//延時100mS

PC03_TOG();//PC03口電平再次反轉

SysTickDelay (100);//延時100mS

}

}

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

    關注

    6067

    文章

    45007

    瀏覽量

    651019
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17993

    瀏覽量

    367669
  • 微控制
    +關注

    關注

    1

    文章

    51

    瀏覽量

    14723
  • 定時器
    +關注

    關注

    23

    文章

    3301

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于CW32L010的高性能溫控方案

    CW32L010提供了全套通信接口,包括兩路UART、一路SPI和一路I2C,方便連接各類傳感和顯示模塊。一組通用定時器、三組基本定時器、一組低功耗
    發表于 07-02 09:46

    如何使用新版本J-Flash編程CW32 MCU?

    CW32 MCU器件支持包JlinkDevices_WHXY.rar解壓到新建的JlinkDevices子目錄即可。 4、運行JFlash.exe,通過Jlink連接CW32 MCU測試板,進行編程測試
    的頭像 發表于 07-01 15:05 ?159次閱讀
    如何使用新版本J-Flash編程<b class='flag-5'>CW32</b> MCU?

    第二十章 TIM——基本定時器

    本章介紹了W55H32基本定時器TIM6、TIM7,16位向上計數,含時鐘源、預分頻等,講解定時計算及初始化結構體。
    的頭像 發表于 06-20 13:51 ?395次閱讀
    第二十章 TIM——基本<b class='flag-5'>定時器</b>

    第十二章 SysTick——系統定時器

    本章介紹了W55MH32的SysTick系統定時器,它是24位遞減計數,含4個寄存,可配置
    的頭像 發表于 05-22 17:16 ?491次閱讀
    第十二章 <b class='flag-5'>SysTick</b>——<b class='flag-5'>系統</b><b class='flag-5'>定時器</b>

    武漢芯源半導體CW32L010在兩輪車儀表的應用介紹

    通用和基本定時器、一組低功耗定時器以及一組高級控制 PWM 定時器CW32L010 可以在 -40℃到 85℃的溫度范圍內工作,供電電壓寬達 1.62V ~ 5.5V。支持 Sle
    發表于 05-13 14:06

    MCU定時器/計數

    架構與功能特性? 定時器類型與配置? 高級控制定時器?:支持互補PWM輸出與剎車功能,適用于電機驅動等高精度控制場景。通用定時器?:集成輸入捕獲、輸出比較、單脈沖模式等基礎功能?。 系統
    的頭像 發表于 04-27 13:54 ?321次閱讀

    0STM32中的SysTick是個啥?咋用?(可下載)

    Cortex-Mx內核內部包含了一個SysTick定時器SysTick是一個24位的倒計數定時器,當計到0時,將從RELOAD寄存中自動
    發表于 04-01 14:52 ?0次下載

    代碼+案例+生態:武漢芯源半導體CW32嵌入式開發實戰正式出版

    尊敬的各位電子工程師、嵌入式開發愛好者們:大家好!今天,我們懷著無比激動與自豪的心情,向大家宣布一個重大喜訊——武漢芯源半導體的單片機CW32正式出書啦!《基于ARMCortex-M0+的CW32
    的頭像 發表于 03-03 15:15 ?702次閱讀
    代碼+案例+生態:武漢芯源半導體<b class='flag-5'>CW32</b>嵌入式開發實戰正式出版

    代碼+案例+生態:武漢芯源半導體CW32嵌入式開發實戰正式出版

    關于 CW32 單片機的書籍。在這本書中,我們從最基礎的知識講起,詳細介紹CW32 單片機的硬件架構、內核特性、存儲系統以及各類外設功能。無論是剛剛踏入嵌入式開發領域的新手,還是經
    發表于 03-03 15:14

    定時器已安排!開發小白看過來~

    本文將為您詳細介紹Air201定時器的基本操作與設置,確保您輕松上手,包教包會! 在Air201模組搭載的LuatOS系統中,定時器(timer)是一項基礎且關鍵的服務。 它允許開發者
    的頭像 發表于 12-31 14:30 ?451次閱讀
    <b class='flag-5'>定時器</b>已安排!開發小白看過來~

    武漢芯源半導體CW32芯片重慶地區線下技術交流會成功舉辦

    2024年10月19日,武漢芯源半導體授權CW32生態社區主辦的“CW32芯片-重慶地區技術交流會”在重慶市科技工作者眾創之家成功舉辦。此次交流會匯聚重慶地區的嵌入式開發工程師和電子信息類企業代表,共同探討CW32芯片在儀器儀表
    的頭像 發表于 10-24 10:55 ?988次閱讀

    【RA-Eco-RA0E1-32PIN-V1.0開發板試用】SysTick定時器點燈

    接上文【RA-Eco-RA0E1-32PIN-V1.0開發板試用】開箱+環境搭建 Systick定時器就是系統一個簡單的24位的倒計數定時器 寄存
    發表于 10-05 08:06

    定時器自動控制開關怎么設置

    定時器自動控制開關是一種常見的自動化設備,廣泛應用于家庭、工業、農業等多個領域。通過定時器,用戶可以預設時間,讓設備在特定時間自動開啟或關閉,從而實現節能、提高效率和便利性。 一、定時器
    的頭像 發表于 09-19 16:19 ?4136次閱讀

    定時器的基本組成和工作模式

    定時器是計算機或電子設備中常見的一個硬件或軟件組件,其主要功能是測量和控制時間的流逝。它在各種應用中起著至關重要的作用,如操作系統調度、多媒體播放、網絡通信、工業自動化控制以及家電設備的定時功能等。
    的頭像 發表于 08-19 18:28 ?2808次閱讀
    主站蜘蛛池模板: 国内精品欧美久久精品 | 亚洲大片免费看 | 顶级欧美不卡一区二区三区 | 国产精品一国产AV麻豆 | 久久热精品18国产 | 国产精品久久免费视频 | 久久内在线视频精品mp4 | 综合色就爱涩涩涩综合婷婷 | 亚洲久热无码中文字幕 | 伊人久久大香线蕉无码麻豆 | 精品国产在线亚洲欧美 | 邪恶肉肉全彩色无遮琉璃神社 | 野花日本完整版在线观看免费高清 | 亚洲精品一二三区-久久 | 亚洲伦理精品久久 | 久久久无码精品亚洲A片猫咪 | 秋霞特色大片18岁入口 | 国产看午夜精品理论片 | 成人毛片免费播放 | 亚洲视频在线免费看 | 99精品无码AV在线播放 | 欧美高跟镣铐bdsm视频 | 蜜臀AV久久国产午夜福利软件 | 亚洲精品在看在线观看 | 99精品国产在热 | 一本色道久久综合亚洲AV蜜桃 | 无码99久热只有精品视频在线 | 与嫂子同居的日子在线观看 | 国产曰韩无码亚洲视频 | 动漫美女和男人下载 | 爱情岛论坛免费在线观看 | 無码一区中文字幕少妇熟女H | 古代荡女丫鬟高H辣文纯肉 姑娘视频日本在线播放 | 九九热这里都是精品 | 国产乱国产乱老熟300部视频 | 蜜柚视频在线观看全集免费观看 | gogogo免费视频观看 | 日韩欧美成人免费中文字幕 | 福利免费观看体检区 | 久久国产香蕉 | 中文字幕亚洲无线码一区 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品