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

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

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

小編科普如何使用SWM系列產(chǎn)品的TIMER功能?

0xQC_gh_ed4f95b ? 來源:華芯微特32位MCU ? 作者:華芯微特32位MCU ? 2021-06-26 09:01 ? 次閱讀

引言

華芯微特公司SWM系列單片機提供的TIMER個數(shù)和功能有些微差別,為了讓您更加簡單的使用這一功能,下面小編將以SWM190為例,給大家展示如何使用SWM系列產(chǎn)品的TIMER功能。

TIMER精準延時

一、TIMER簡介

TIMER是一種定時器工具,用來在一個后臺線程計劃執(zhí)行指定任務。它可以計劃執(zhí)行一個任務一次或反復多次。

華芯微特公司SWM系列單片機提供的TIMER個數(shù)和功能有些微差別,為了讓您更加簡單的使用這一功能,下面小編將以SWM190為例,給大家展示如何使用SWM系列產(chǎn)品的TIMER功能。

SWM190系列有4路32位加強定時器,4路24位基礎定時器。加強型定時器支持支持定時器、計數(shù)器、捕獲、脈沖發(fā)送、HALL功能及ADC觸發(fā)功能等功能?;A定時器具備定時器功能,并具備一個8位分頻器,每個定時器具備獨立中斷源。

二、TIMER定時器之精準延時功能

我們今天詳細講解一下TIMER的定時器功能。

定時器功能使用片內(nèi)時鐘作為計數(shù)基準,以SWM190加強型定時器為例,有4個32 bit向下計數(shù)的TIMER,脈沖每一次下降沿,計數(shù)寄存器數(shù)值將減1。

每一個TIMER都可以配置定時器溢出中斷。使能溢出中斷,定時器溢出會觸發(fā)中斷操作,達到精準定時功能。

三、SWM190 TIMER延時功能配置庫函數(shù)

下面我們以最簡單的定時器為例,使用加強型定時器和基礎定時器,用定時器的方法實現(xiàn)1S的精準延時。在此例程中,我們將A4設為每2秒翻轉(zhuǎn)一次IO,A5設為每0.5秒翻轉(zhuǎn)一次IO,通過翻轉(zhuǎn)LED的狀態(tài)來觀察現(xiàn)象。

我們之前有講到GPIO的配置方法,在這里就不在做贅述,將LED輸出引腳通過GPIO_Init設置為輸出,與外部LED引腳相連。

在SWM190固件庫中對TIMER的配置進行了說明,下面將根據(jù)庫函數(shù)對SWM190的TIMER配置,首先來看一下TIMR_Init函數(shù)的原型void TIMR_Init(TIMR_TypeDef * TIMRx, uint32_t mode, uint32_t prediv, uint32_t period, uint32_t int_en)。這個函數(shù)的實現(xiàn)是在SWM190_timr.c文件中,若要使用該函數(shù)在相應的應用程序的前面包含SWM190_ timr.h頭文件。

函數(shù)的第一個參數(shù)為TIMR_TypeDe,它是一個結(jié)構體類型,該類型在SWM190.h中被定義。具體參數(shù)為指定TIMER模塊,有效值包括TIMR0,TIMR1,TIMR2,TIMR3,BTIMR0,BTIMR1,BTIMR2,BTIMR3;

第二個參數(shù)為uint32_t mode,為TIMER模式配置,有效值包括TIMR_MODE_TIMER(定時器)、TIMR_MODE_COUNTER(計數(shù)器上升沿)、TIMR_MODE_OC(輸出比較)、TIMR_MODE_IC(輸入捕獲);其中基礎定時器只支持TIMR_MODE_TIMER(定時器);

第三個參數(shù)為uint32_t prediv,為TIMER分頻配置,其中加強型定時器無分頻只能為1;基本定時器可取值1-256;

第四個參數(shù)為uint32_t period,為計數(shù)周期,其中加強型定時器為32bit,基礎定時器為24bit。

第五個參數(shù)為uint32_t int_en,為中斷使能。

我們加強型定時器實現(xiàn)0.1S觸發(fā)一次,2S實現(xiàn)LED燈的翻轉(zhuǎn);基礎定時器實現(xiàn)0.5S實現(xiàn)LED燈的翻轉(zhuǎn)。

具體配置函數(shù)如下圖所示:

f7ba12ae-d60f-11eb-9e57-12bb97331649.png

接下來我們看下中斷服務子函數(shù),在加強型定時器的中斷服務函數(shù)中,實現(xiàn)每0.1S進一次中斷。定義一個全局變量TimerNum,每當進一次中斷的時候,讓TimerNum來記錄進入中斷的次數(shù)。我們實現(xiàn)2S的定時,我們只需要判斷TimerNum是否等于20,然后把TimerNum清0,執(zhí)行對應的操作并重新計數(shù),以此循環(huán)往復。

f7ebc9e8-d60f-11eb-9e57-12bb97331649.png

在基礎定時器的中斷服務函數(shù)中,實現(xiàn)每0.5S進行LED燈的一次翻轉(zhuǎn)。

f7f936dc-d60f-11eb-9e57-12bb97331649.png

四、實驗現(xiàn)象

下載好程序后,LED實現(xiàn)分別2S翻轉(zhuǎn)一次和0.5s翻轉(zhuǎn)一次。

責任編輯:lq6

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

    關注

    23

    文章

    3218

    瀏覽量

    113682
  • Timer
    +關注

    關注

    1

    文章

    63

    瀏覽量

    12738

原文標題:華芯微特|MCU之TIMER精準延時

文章出處:【微信號:gh_ed4f95bde4df,微信公眾號:華芯微特32位MCU】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    54600系列產(chǎn)品說明

    54600系列產(chǎn)品說明
    發(fā)表于 01-21 08:44

    客戶為什么會選擇3700系列產(chǎn)品

    客戶為什么會選擇3700系列產(chǎn)品?3700系列產(chǎn)品有什么優(yōu)點?
    發(fā)表于 05-07 06:33

    科普:圖文講解OFDM的原理

    科普:圖文講解OFDM的原理
    發(fā)表于 05-19 06:30

    科普幾種特殊的晶體振蕩器

    科普幾種特殊的晶體振蕩器
    發(fā)表于 06-07 06:29

    RX系列產(chǎn)品分別分為哪幾種?RX系列產(chǎn)品具備哪些功能?

    RX系列產(chǎn)品分別分為哪幾種?RX系列微控制器有哪些性能?RX系列產(chǎn)品具備哪些功能?
    發(fā)表于 07-01 10:57

    科普一下RK3399 Audio的功能有哪些呢

    科普一下RK3399 Audio的功能有哪些呢?
    發(fā)表于 03-04 12:47

    科普一下RK3328 SoC有何功能

    科普一下RK3328 SoC有何功能呢?
    發(fā)表于 03-09 07:28

    ASDX系列產(chǎn)品手冊

    ASDX系列產(chǎn)品手冊。
    發(fā)表于 04-28 11:45 ?10次下載

    MSP430鐵電系列超值型微控制器系列產(chǎn)品的PWM介紹

    本課程介紹了MSP430鐵電系列超值型微控制器系列產(chǎn)品,該超值系列僅需25美分即可實現(xiàn)25種外設功能。本課程詳細介紹了該系列產(chǎn)品的PWM,
    的頭像 發(fā)表于 05-29 09:32 ?1594次閱讀
    MSP430鐵電<b class='flag-5'>系列</b>超值型微控制器<b class='flag-5'>系列產(chǎn)品</b>的PWM介紹

    MCU之TIMER輸入捕獲

    華芯微特公司SWM系列單片機提供的TIMER個數(shù)和功能有些微差別,為了讓您更加簡單的使用這一功能,下面小
    發(fā)表于 02-08 15:42 ?2次下載
    MCU之<b class='flag-5'>TIMER</b>輸入捕獲

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時器脈沖計數(shù)

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時器脈沖計數(shù)
    的頭像 發(fā)表于 11-09 17:38 ?907次閱讀
    CKS32F4xx<b class='flag-5'>系列產(chǎn)品</b><b class='flag-5'>Timer</b>的基本使用方法-定時器脈沖計數(shù)

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-比較輸出

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-比較輸出
    的頭像 發(fā)表于 11-09 17:39 ?703次閱讀
    CKS32F4xx<b class='flag-5'>系列產(chǎn)品</b><b class='flag-5'>Timer</b>的基本使用方法-比較輸出

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時操作

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時操作
    的頭像 發(fā)表于 11-09 17:41 ?496次閱讀
    CKS32F4xx<b class='flag-5'>系列產(chǎn)品</b><b class='flag-5'>Timer</b>的基本使用方法-定時操作

    SWM341系列SWM34SRET6介紹

    SWM341系列SWM34SRET6介紹
    的頭像 發(fā)表于 10-27 10:19 ?1862次閱讀
    <b class='flag-5'>SWM</b>341<b class='flag-5'>系列</b>之<b class='flag-5'>SWM</b>34SRET6介紹

    如何配置SWM系列系統(tǒng)時鐘?

    如何配置SWM系列系統(tǒng)時鐘?
    的頭像 發(fā)表于 09-18 16:35 ?657次閱讀
    如何配置<b class='flag-5'>SWM</b><b class='flag-5'>系列</b>系統(tǒng)時鐘?