在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

MindSDK應(yīng)用基礎(chǔ)——TIM模塊樣例

jf_pJlTbmA9 ? 來(lái)源:靈動(dòng)MM32MCU ? 作者:靈動(dòng)MM32MCU ? 2023-10-25 16:25 ? 次閱讀

引言

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

樣例工程

MindSDK中為T(mén)IM驅(qū)動(dòng)設(shè)計(jì)的樣例工程包括:

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í)器最典型的功能,包括定時(shí)、輸出比較、輸入捕捉,以及對(duì)外部脈沖進(jìn)行計(jì)數(shù)等。另外,還有一些不大典型,用在特殊應(yīng)用場(chǎng)景的功能,例如,使用“從機(jī)”模式干預(yù)常規(guī)的定時(shí)器計(jì)數(shù),通過(guò)硬件實(shí)現(xiàn)互補(bǔ)的PWM輸出(常用于電機(jī)控制應(yīng)用中控制驅(qū)動(dòng)橋)。

tim_basic

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

每當(dāng)定時(shí)器計(jì)數(shù)到達(dá)預(yù)設(shè)的計(jì)數(shù)周期值后,計(jì)數(shù)值折返為0,重新開(kāi)始計(jì)數(shù)。同時(shí),TIM會(huì)觸發(fā)NVIC中斷,tim_basic樣例工程中為T(mén)IM中斷實(shí)現(xiàn)的服務(wù)程序中,實(shí)現(xiàn)了通過(guò)串口發(fā)送字符*的操作。

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

tim_one_time_run

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

其實(shí)現(xiàn)原理,是在tim_basic配置定時(shí)器周期運(yùn)行的基礎(chǔ)之上,修改初始化配置.PeriodMode的值為T(mén)IM_PeriodMode_OneTimeRun。之后,每次通過(guò)TIM_Start()函數(shù)啟動(dòng)定時(shí)器后,定時(shí)器僅計(jì)數(shù)一個(gè)周期后,觸發(fā)中斷,然后停止計(jì)數(shù)。

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

tim_output_compare_pwm

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

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

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

tim_input_capture

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

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

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

tim_external_trigger_input

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

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

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

tim_slave_mode

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

tim_slave_mode工程,在tim_basic基礎(chǔ)上,額外通過(guò)驅(qū)動(dòng)函數(shù)TIM_EnableSlaveMode(),配置了其中一種“從機(jī)”模式:使用ETR作為控制信號(hào)(下降沿)的引腳TIM_SlaveIn_Alt7,當(dāng)控制信號(hào)到來(lái)時(shí),選擇暫停計(jì)數(shù)TIM_SlaveResp_Alt5。

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

tim_slave_mode_encoder

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

tim_comp_output_compare_pwm

tim_comp_output_compare_pwm基于tim_output_compare_pwm工程,通過(guò)額外的驅(qū)動(dòng)函數(shù)TIM_EnableCompOutput(),實(shí)現(xiàn)了PWM信號(hào)的互補(bǔ)輸出,這意味著當(dāng)使用正常的輸出比較通道輸出PWM信號(hào)時(shí),還開(kāi)啟了硬件設(shè)計(jì)的,使用對(duì)應(yīng)的另一個(gè)通道,輸出電平極性剛好相反的PWM信號(hào)。

來(lái)源:靈動(dòng)MM32MCU

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

審核編輯 黃宇

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

    關(guān)注

    0

    文章

    83

    瀏覽量

    18271
  • SDK
    SDK
    +關(guān)注

    關(guān)注

    3

    文章

    1068

    瀏覽量

    47869
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    第二十二章 TIM——高級(jí)定時(shí)器

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

    第二十一章 TIM——通用定時(shí)器

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

    第二十章 TIM——基本定時(shí)器

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

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

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

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

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

    MCU驅(qū)動(dòng)使用(二)

    詢是第一個(gè)還是第二個(gè)定時(shí)器,然后再清中斷。 該中斷函數(shù)已默認(rèn)關(guān)聯(lián),不需要程序中來(lái)手工設(shè)置。 完整代碼請(qǐng)參考example下example_timer.c。 六、gpTimer
    發(fā)表于 04-30 11:06

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

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

    關(guān)于cc2541程序代碼

    CC2541哪里有cc2541的模數(shù)轉(zhuǎn)換模塊和藍(lán)牙模塊的程序代碼呀?初學(xué)不懂
    發(fā)表于 01-20 07:14

    深蕾半導(dǎo)體開(kāi)發(fā)者中心上線多個(gè)AI Demo

    近日深蕾半導(dǎo)體開(kāi)發(fā)者中心更新了VS680 AI演示視頻、AI Demo、VS680快速開(kāi)發(fā)手冊(cè)等相關(guān)內(nèi)容。
    的頭像 發(fā)表于 01-10 14:48 ?423次閱讀
    深蕾半導(dǎo)體開(kāi)發(fā)者中心上線多個(gè)AI Demo<b class='flag-5'>樣</b><b class='flag-5'>例</b>

    Verilog化說(shuō)明

    Verilog化說(shuō)明 1.什么是模塊化?為什么要化? 模塊化可以理解成
    的頭像 發(fā)表于 12-17 11:29 ?2028次閱讀
    Verilog<b class='flag-5'>例</b>化說(shuō)明

    LMX2594如何對(duì)手冊(cè)中配置的ramping8GHz到10GHz進(jìn)行理解?

    關(guān)于手冊(cè)中相關(guān)參數(shù)的計(jì)算不是看的很明白,手冊(cè)中的參數(shù) 與TICSPRO中沒(méi)有對(duì)應(yīng)上。煩請(qǐng)將中的50MHz改為20Mhz(與鑒相器頻率區(qū)分開(kāi),便于理解),提供一下
    發(fā)表于 11-11 07:28

    使用STM32F1輸入捕獲功能時(shí),TIM6和TIM7無(wú)法實(shí)現(xiàn)輸入捕獲是哪里的問(wèn)題?

    使用STM32F1輸入捕獲功能時(shí),TIM6和TIM7無(wú)法實(shí)現(xiàn)輸入捕獲,是芯片問(wèn)題嗎?在配置STM32F1的TIM6和TIM7定時(shí)器時(shí),發(fā)現(xiàn)無(wú)法進(jìn)行輸入捕獲,是否因?yàn)樾酒δ苁芟蓿?/div>
    發(fā)表于 09-27 09:11

    stm32G4的tim2有霍爾模式,能不能用tim1的通道4連接tim2?

    stm32G4的tim2有霍爾模式,能不能用tim1的通道4連接tim2
    發(fā)表于 07-24 07:47

    TIM未捕獲TC399 KIT的TOM輸出,為什么?

    我正在使用該 KIT [TC399],并嘗試使用該示例 GTM_TIM_Capture_1_KIT_TC397_TFT 在 TIM 中捕獲 TOM 輸出,并計(jì)算頻率和占空比。 我看不到 TIM
    發(fā)表于 07-23 06:36

    OrangePi AIpro性能實(shí)測(cè)——AI應(yīng)用、熱管理、網(wǎng)絡(luò)傳輸速率

    ,教育實(shí)驗(yàn)、機(jī)器人研發(fā)、無(wú)人機(jī)操控,無(wú)所不能,為你的創(chuàng)意項(xiàng)目注入澎湃動(dòng)力!下面就給大家簡(jiǎn)單介紹一下我的OrangePiAIpro性能實(shí)測(cè)。1.AI應(yīng)用在實(shí)際的
    的頭像 發(fā)表于 06-27 14:43 ?866次閱讀
    OrangePi AIpro性能實(shí)測(cè)——AI應(yīng)用<b class='flag-5'>樣</b><b class='flag-5'>例</b>、熱管理、網(wǎng)絡(luò)傳輸速率
    主站蜘蛛池模板: 天天舔天天干天天操 | 手机看片三级 | 亚洲综合五月天婷 | 国产精品japanese人妖 | 特级毛片免费看 | 97人人在线视频 | 一区二区三区四区视频在线观看 | 亚洲精品电影天堂网 | 奇米影视大全 | 亚洲男人的天堂在线播放 | 亚洲经典乱码在线播 | 久久精品国产6699国产精 | xxxx曰本| 日韩免费无砖专区2020狼 | 男女网站在线观看 | 天堂bt种子资源+在线 | 久久精品伊人波多野结 | 一久久| bt种子在线www天堂官网 | 天天做天天爱夜夜大爽完整 | 婷婷 色天使 | 四虎国产精品永久地址51 | 国产精品夜色一区二区三区 | 欧美日韩高清一区 | 日本在线观看永久免费网站 | 视频福利网| 亚洲无线码一区在线观看 | 色花堂国产精品首页第一页 | 色五五月五月开 | 美国一级毛片片aa久久综合 | 女bbbbxxxx毛片视频 | 俺去啦在线视频 | 黄视频网站免费观看 | 免费理论片在线观看播放 | 国产精品人人爱一区二区白浆 | 欧洲无线区一二区 | 欧美人成在线观看 | 三级黄色一级视频 | 人人做天天爱夜夜爽中字 | 欧美在线精品一区二区三区 | 久久婷婷丁香 |