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

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

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

3天內不再提示

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

jf_pJlTbmA9 ? 來源:靈動MM32MCU ? 作者:靈動MM32MCU ? 2023-10-25 16:25 ? 次閱讀

引言

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

樣例工程

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

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分別演示了定時器最典型的功能,包括定時、輸出比較、輸入捕捉,以及對外部脈沖進行計數等。另外,還有一些不大典型,用在特殊應用場景的功能,例如,使用“從機”模式干預常規的定時器計數,通過硬件實現互補的PWM輸出(常用于電機控制應用中控制驅動橋)。

tim_basic

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

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

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

tim_one_time_run

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

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

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

tim_output_compare_pwm

tim_output_compare_pwm實現的是一個通過輸出比較功能產生PWM輸出信號的樣例工程。

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

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

tim_input_capture

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

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

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

tim_external_trigger_input

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

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

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

tim_slave_mode

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

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

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

tim_slave_mode_encoder

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

tim_comp_output_compare_pwm

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

來源:靈動MM32MCU

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

審核編輯 黃宇

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

    關注

    0

    文章

    84

    瀏覽量

    18231
  • SDK
    SDK
    +關注

    關注

    3

    文章

    1065

    瀏覽量

    47673
收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

    MCU驅動使用(二)

    詢是第一個還是第二個定時器,然后再清中斷。 該中斷函數已默認關聯,不需要程序中來手工設置。 完整代碼請參考example下example_timer.c。 六、gpTimer
    發表于 04-30 11:06

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

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

    關于cc2541程序代碼

    CC2541哪里有cc2541的模數轉換模塊和藍牙模塊的程序代碼呀?初學不懂
    發表于 01-20 07:14

    深蕾半導體開發者中心上線多個AI Demo

    近日深蕾半導體開發者中心更新了VS680 AI演示視頻、AI Demo、VS680快速開發手冊等相關內容。
    的頭像 發表于 01-10 14:48 ?389次閱讀
    深蕾半導體開發者中心上線多個AI Demo<b class='flag-5'>樣</b><b class='flag-5'>例</b>

    Verilog化說明

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

    LMX2594如何對手冊中配置的ramping8GHz到10GHz進行理解?

    關于手冊中相關參數的計算不是看的很明白,手冊中的參數 與TICSPRO中沒有對應上。煩請將中的50MHz改為20Mhz(與鑒相器頻率區分開,便于理解),提供一下
    發表于 11-11 07:28

    使用STM32F1輸入捕獲功能時,TIM6和TIM7無法實現輸入捕獲是哪里的問題?

    使用STM32F1輸入捕獲功能時,TIM6和TIM7無法實現輸入捕獲,是芯片問題嗎?在配置STM32F1的TIM6和TIM7定時器時,發現無法進行輸入捕獲,是否因為芯片功能受限?
    發表于 09-27 09:11

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

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

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

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

    求助各位關于Verilog當中模塊化、端口與引腳 的問題

    初學者。我在刷HDLbits的時候做到了這道題 答案: 答案給的是定義了wire型的信號,并借這個來進行端口連接。而我的疑問在于: 1.模塊化時,如果采用按名字的方式進行化,那么:點號后面寫
    發表于 07-15 20:38

    逆變器IPM/IGBT模塊容量的選擇

    以IGBT模塊應用三相逆變電路為。
    的頭像 發表于 07-15 16:28 ?1247次閱讀
    逆變器IPM/IGBT<b class='flag-5'>模塊</b>容量的選擇

    新品 | 采用 2000V SiC M1H芯片的62mm半橋模塊系列產品擴展

    TIM)版本。相關產品:FF5MR20KM1H(P)5.2mΩ,2000V62mm半橋模塊(P)為預涂導熱界面材料(TIM)版本產品特點堅固的集成體二極管,優化了熱
    的頭像 發表于 07-05 08:14 ?579次閱讀
    新品 | 采用 2000V SiC M1H芯片的62mm半橋<b class='flag-5'>模塊</b>系列產品擴展

    OrangePi AIpro性能實測——AI應用、熱管理、網絡傳輸速率

    ,教育實驗、機器人研發、無人機操控,無所不能,為你的創意項目注入澎湃動力!下面就給大家簡單介紹一下我的OrangePiAIpro性能實測。1.AI應用在實際的
    的頭像 發表于 06-27 14:43 ?812次閱讀
    OrangePi AIpro性能實測——AI應用<b class='flag-5'>樣</b><b class='flag-5'>例</b>、熱管理、網絡傳輸速率

    STM32F1HAL TIM2定時printf打印出現丟數值的原因?

    芯片:STM32F103C8T6環境:STM32CubeMX和STM32CubeIDE庫:STM32F1HAL問題:TIM2定時5秒-&gt;UART1 printf打印浮點數,偶爾
    發表于 06-04 08:03