91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

MindSDK應用基礎——TIM模塊樣例

jf_pJlTbmA9 ? 來源:靈動MM32MCU ? 作者:靈動MM32MCU ? 2023-10-25 16:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

MindSDK為MM32使用星辰處理器內(nèi)核的系列微控制器,實現(xiàn)了一組TIM樣例工程,MindSDK中的TIM模塊對應硬件定時器TIM外設。本文通過講解TIM模塊的樣例工程,介紹TIM模塊的功能和用法。關于TIM模塊對應的驅(qū)動程序,以及TIM外設模塊硬件的實現(xiàn)細節(jié),可具體查閱MindSDK工程的源文件,以及MM32微控制器(例如MM32F5270)的用戶手冊。

樣例工程

MindSDK中為TIM驅(qū)動設計的樣例工程包括:

tim_basic

tim_one_time_run

tim_output_compare_pwm

tim_input_capture

tim_external_trigger_input

tim_slave_mode

tim_slave_mode_encoder

tim_comp_output_compare_pwm

其中,tim_basic、tim_one_time_run、tim_output_compare_pwm、tim_input_capture和tim_external_trigger_input分別演示了定時器最典型的功能,包括定時、輸出比較、輸入捕捉,以及對外部脈沖進行計數(shù)等。另外,還有一些不大典型,用在特殊應用場景的功能,例如,使用“從機”模式干預常規(guī)的定時器計數(shù),通過硬件實現(xiàn)互補的PWM輸出(常用于電機控制應用中控制驅(qū)動橋)。

tim_basic

tim_basic描述了使用TIM模塊最基本的方式,周期定時器。在樣例工程中,通過TIM_Init()函數(shù),配置一個選定的TIM外設模塊的計數(shù)引擎,為連續(xù)計數(shù)模式TIM_PeriodMode_Continuous,并指定計數(shù)周期為APP_TIM_UPDATE_PERIOD。然后,啟用選定TIM外設模塊對應的NVIC中斷。最后,通過調(diào)用TIM_Start()驅(qū)動函數(shù),啟動定時器開始計數(shù)。

每當定時器計數(shù)到達預設的計數(shù)周期值后,計數(shù)值折返為0,重新開始計數(shù)。同時,TIM會觸發(fā)NVIC中斷,tim_basic樣例工程中為TIM中斷實現(xiàn)的服務程序中,實現(xiàn)了通過串口發(fā)送字符*的操作。

最終程序運行時,可以在PC機上的串口通信終端看到以指定周期輸出的字符*,驗證定時器中斷被周期觸發(fā)。

tim_one_time_run

tim_one_time_run相對于tim_basic樣例工程實現(xiàn)周期觸發(fā)定時器中斷服務,實現(xiàn)了每次啟動定時器后,僅觸發(fā)一次中斷的用法。

其實現(xiàn)原理,是在tim_basic配置定時器周期運行的基礎之上,修改初始化配置.PeriodMode的值為TIM_PeriodMode_OneTimeRun。之后,每次通過TIM_Start()函數(shù)啟動定時器后,定時器僅計數(shù)一個周期后,觸發(fā)中斷,然后停止計數(shù)。

實際運行程序時,用戶在串口調(diào)試終端中每次輸入任意字符,程序均會調(diào)用一次TIM_Start()函數(shù),延時指定計數(shù)周期后,在定時器中斷服務程序中打印字符*到串口終端界面。

tim_output_compare_pwm

tim_output_compare_pwm實現(xiàn)的是一個通過輸出比較功能產(chǎn)生PWM輸出信號的樣例工程。

其實現(xiàn)原理,是在tim_basic基礎之上,額外通過驅(qū)動函數(shù)TIM_EnableOutputCompare(),啟動并配置給定通道BOARD_TIM_CHANNEL為輸出比較功能。其中,指定通道的配置屬性.PinPolarity的值為TIM_PinPolarity_Rising,.RefOutMode值為TIM_OutputCompareRefOut_FallingEdgeOnMatch,設定同通道綁定的硬件引腳信號在計數(shù)初始的階段為高電平,當計數(shù)值達到通道數(shù)據(jù)寄存器中設定的匹配值時,輸出下降沿信號,輸出低電平。

實際運行程序時,用戶通過TIM_Init()函數(shù)配置定時器的基本定時單元,對應的計數(shù)周期即為輸出PWM信號波形的周期,啟用輸出比較的指定通道綁定的引腳即為輸出PWM信號的引腳,通過TIM_PutChannelValue()函數(shù)設定輸出波形在整個周期下降沿的位置,進而調(diào)整PWM輸出信號波形的占空比。通道引腳在每次定時器周期的開始輸出為高電平,在周期內(nèi)設定的匹配值的位置產(chǎn)生下降沿,轉(zhuǎn)而輸出低電平,再計數(shù)周期結束折返為0時,恢復為高電平。如此周而復始,實現(xiàn)輸出PWM信號波形。

tim_input_capture

tim_intput_capture實現(xiàn)的是一個使用定時器為外部輸入的觸發(fā)信號記錄時刻的樣例工程。

其實現(xiàn)原理,是在tim_basic基礎之上,額外通過驅(qū)動函數(shù)TIM_EnableInputCapture(),啟動并配置給定通道BOARD_TIM_CHANNEL為輸入捕獲功能。其中,指定給定通道的捕獲輸入信號極性.PinPolarity的值為TIM_PinPolarity_Falling,表示在該給定通道綁定的引腳上出現(xiàn)下降沿信號時,觸發(fā)捕獲事件。此時,捕獲計數(shù)器當前的計數(shù)值到給定通道的通道數(shù)據(jù)寄存器中,這個值就可以作為該捕獲事件的時刻記錄。

實際運行程序時,用戶通過TIM_Init()函數(shù)配置定時器的基本定時單元,此時定時器的計數(shù)周期,就是可能捕獲時刻值的有效范圍。然后在電路上使用一個按鍵接入到指定通道綁定的引腳上,模擬產(chǎn)生下降沿觸發(fā)信號。當按下按鍵時,觸發(fā)信號到來,觸發(fā)程序中的通道事件中斷服務程序,在其中可以通過TIM_GetChannelValue()函數(shù)讀取本次輸入捕獲事件發(fā)生時的計數(shù)時刻。

tim_external_trigger_input

相對于tim_basic中,使用芯片內(nèi)部的時鐘源脈沖進行計數(shù),tim_external_trigger_input樣例工程可以對用戶指定引腳上的脈沖進行計數(shù),計數(shù)的脈沖來自于芯片外部的信號源。

其實現(xiàn)原理,是在tim_basic基礎上,額外通過驅(qū)動函數(shù)TIM_EnableExtTriggerIn(),配置啟用外部對外部輸入的脈沖信號進行計數(shù)的功能,固定從TIM外設模塊的ETR引腳捕獲來自外部的脈沖信號。每次捕獲到一個脈沖信號,等同于使用芯片內(nèi)部時鐘源的脈沖,計數(shù)器自增計數(shù)。此時,還可以基于這個新的時鐘源,使用周期計數(shù)中斷等功能。

實際運行程序時,用戶可以將一個按鍵接入到指定TIM外設模塊的ETR引腳上,用手動按按鍵產(chǎn)生脈沖信號。在程序中指定定時器的計數(shù)周期APP_TIM_UPDATE_PERIOD值為2,意味著每輸入兩次脈沖,就會觸發(fā)一次定時器周期中斷。

tim_slave_mode

tim_slave_mode實現(xiàn)的是一個使用從機TIM從機模式的樣例工程。實際上,這里的“從機”同從屬關系的的“從”是沒關系的,而是可以理解為更豐富的可由用戶控制的工作模式。

tim_slave_mode工程,在tim_basic基礎上,額外通過驅(qū)動函數(shù)TIM_EnableSlaveMode(),配置了其中一種“從機”模式:使用ETR作為控制信號(下降沿)的引腳TIM_SlaveIn_Alt7,當控制信號到來時,選擇暫停計數(shù)TIM_SlaveResp_Alt5。

實際運行程序時,用戶可以將一個按鍵接入到指定TIM外設模塊的ETR引腳上,用手動按按鍵產(chǎn)生電平控制信號。當按下按鍵時,控制定時器暫停計數(shù),松開按鍵時,定時器恢復計數(shù)。正常計數(shù)到一整個周期時,會產(chǎn)生中斷。如此,當按下按鍵時,會影響定時器中斷的周期。

tim_slave_mode_encoder

tim_slave_mode_encoder工程基于tim_input_capture工程,通過額外調(diào)用TIM_EnableSlaveMode()并傳入一組特定的配置,啟用了一種特殊的“從機”模式,從而實現(xiàn)了編碼器的功能。

tim_comp_output_compare_pwm

tim_comp_output_compare_pwm基于tim_output_compare_pwm工程,通過額外的驅(qū)動函數(shù)TIM_EnableCompOutput(),實現(xiàn)了PWM信號的互補輸出,這意味著當使用正常的輸出比較通道輸出PWM信號時,還開啟了硬件設計的,使用對應的另一個通道,輸出電平極性剛好相反的PWM信號。

來源:靈動MM32MCU

免責聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯(lián)系小編進行處理

審核編輯 黃宇

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

    關注

    0

    文章

    85

    瀏覽量

    19039
  • SDK
    SDK
    +關注

    關注

    3

    文章

    1101

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    瑞薩RL78/F22 MCU基于e2studio開發(fā)環(huán)境創(chuàng)建觸摸應用工程

    瑞薩RL78/F22 MCU基于e2studio開發(fā)環(huán)境創(chuàng)建觸摸應用工程
    的頭像 發(fā)表于 01-14 15:31 ?5948次閱讀
    瑞薩RL78/F22 MCU基于e2studio開發(fā)環(huán)境創(chuàng)建觸摸應用<b class='flag-5'>樣</b><b class='flag-5'>例</b>工程

    LAT1202+TIM DMA burst 輸出變頻 PWM 波形應用筆記

    4/TIM5 以及 TIM15/TIM16/TIM17。TIM 模塊中,可通過修改 ARR 寄存
    發(fā)表于 01-11 17:22 ?0次下載

    瑞薩RL78/F25 MCU基于IAR開發(fā)環(huán)境創(chuàng)建觸摸應用工程

    瑞薩RL78/F25 MCU基于IAR開發(fā)環(huán)境創(chuàng)建觸摸應用工程
    的頭像 發(fā)表于 01-05 14:59 ?6849次閱讀
    瑞薩RL78/F25 MCU基于IAR開發(fā)環(huán)境創(chuàng)建觸摸應用<b class='flag-5'>樣</b><b class='flag-5'>例</b>工程

    基于開源鴻蒙的圖片編輯開發(fā)(2)

    本期內(nèi)容介紹基于開源鴻蒙在RK3568上開發(fā)圖片編輯的全流程,分為上篇和下篇,本篇為下篇,主要介紹標記、保存圖片功能。
    的頭像 發(fā)表于 10-31 09:19 ?3210次閱讀
    基于開源鴻蒙的圖片編輯開發(fā)<b class='flag-5'>樣</b><b class='flag-5'>例</b>(2)

    基于開源鴻蒙的圖片編輯開發(fā)(1)

    本期內(nèi)容介紹基于開源鴻蒙在RK3568上開發(fā)圖片編輯的全流程,分為上篇和下篇,本篇為上篇,主要介紹添加相冊圖片、編譯圖片功能。
    的頭像 發(fā)表于 10-31 09:16 ?3068次閱讀
    基于開源鴻蒙的圖片編輯開發(fā)<b class='flag-5'>樣</b><b class='flag-5'>例</b>(1)

    如何讓大模型生成你想要的測試用?

    應用大模型生成測試用,常見的知識庫,測試大模型,微調(diào),RAG等技術門檻都不低,甚至很難,因此對于應用者而言,最快的方式就是應用好提示詞,調(diào)教屬于個人風格的測試用智能生成模塊,讓智能模板像人一
    的頭像 發(fā)表于 09-26 10:01 ?944次閱讀
    如何讓大模型生成你想要的測試用<b class='flag-5'>例</b>?

    基于開源鴻蒙的AVPlayer視頻播控開發(fā)

    在開源鴻蒙生態(tài)建設中,多媒體能力是構建豐富用戶體驗的核心要素。本開發(fā)基于AVPlayer實現(xiàn),AvPlayer支持流媒體和本地資源解析、媒體資源解封裝、視頻解碼和渲染功能,適用于對媒體資源進行端
    的頭像 發(fā)表于 08-21 10:22 ?2817次閱讀
    基于開源鴻蒙的AVPlayer視頻播控開發(fā)<b class='flag-5'>樣</b><b class='flag-5'>例</b>

    基于 AS32X601 微控制器的定時器模塊TIM)技術研究與應用實踐

    摘要: 本文全面介紹了國科安芯推出的AS32X601系列微控制器的定時器模塊TIM),包括其系統(tǒng)架構、功能特性、應用場景以及工程實踐要點。通過對芯片的詳細分析,揭示了其高性能運行的基礎。本文詳細
    的頭像 發(fā)表于 08-19 16:44 ?840次閱讀

    基于開源鴻蒙的視頻播放開發(fā)

    在開源鴻蒙生態(tài)建設中,多媒體能力是構建豐富用戶體驗的核心要素。本開發(fā)針對視頻播放場景,聚焦開源鴻蒙原生媒體框架,通過Video組件實現(xiàn)視頻資源加載、播放狀態(tài)控制及多樣化展示形態(tài)。重點演示組件化
    的頭像 發(fā)表于 08-19 10:41 ?1606次閱讀
    基于開源鴻蒙的視頻播放開發(fā)<b class='flag-5'>樣</b><b class='flag-5'>例</b>

    第二十二章 TIM——高級定時器

    本章介紹了W55MH32的高級定時器(TIM1和TIM8),其含時基單元等,具備輸入捕獲、輸出比較、PWM生成等功能,還支持互補輸出、死區(qū)插入等,適用于工業(yè)電機控制,也提及相關配置結構體。
    的頭像 發(fā)表于 06-20 13:58 ?1702次閱讀
    第二十二章 <b class='flag-5'>TIM</b>——高級定時器

    第二十一章 TIM——通用定時器

    本篇文章介紹了W55MH32的通用定時器(TIM2~TIM5等),其由16位自動裝載計數(shù)器和可編程預分頻器構成,具備輸入捕獲、輸出比較、PWM生成等功能,還介紹了時基單元、計數(shù)器模式等,并有代碼解析與下載驗證內(nèi)容。
    的頭像 發(fā)表于 06-20 13:57 ?1609次閱讀
    第二十一章 <b class='flag-5'>TIM</b>——通用定時器

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

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

    基于瑞薩電子RA8T2 sensorless方案的工程 可對電流環(huán)進行TCM化設置

    基于瑞薩電子RA8T2 sensorless方案的工程 可對電流環(huán)進行TCM化設置
    的頭像 發(fā)表于 06-04 18:29 ?1105次閱讀

    一文讀懂熱界面材料:TIM1與TIM2的奇妙世界

    TIM1:芯片的“貼身保鏢”2025ThermalLink在熱界面材料的世界里,TIM1堪稱芯片的“貼身保鏢”。它通常緊緊地貼附在芯片(如CPU、GPU等核心芯片)與均熱板(IHS)之間,就像給芯片
    的頭像 發(fā)表于 05-11 06:41 ?2846次閱讀
    一文讀懂熱界面材料:<b class='flag-5'>TIM</b>1與<b class='flag-5'>TIM</b>2的奇妙世界

    如何使用TIM2的更新事件觸發(fā)TIM1的PWM DMA?

    目前在學習無刷電機,現(xiàn)在在跑開環(huán)控制,想問問是否能實現(xiàn)這樣的一個功能,TIM1用于3項PWM的生成,分頻系數(shù)與period都是固定的,這樣PWM的頻率和100%占空比的值就是固定的,所以我可以直接寫
    發(fā)表于 03-07 07:34