女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

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

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

3天內不再提示

STM32定時器做PWM輸出時的電平話題

茶話MCU ? 來源:ST MCU 信息交流 ? 2019-11-20 14:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

經常有人問起STM32定時器做PWM輸出時的電平話題,這里就聊聊該話題。

對于STM32常規定時器,其比較輸出模式除了強制輸出模式以外,還有匹配切換模式、PWM輸出模式,不論是匹配切換模式還是PWM輸出模式,最終的輸出電平由計數器的值與比較寄存器的值之比較結果,并結合極性選擇位來決定。

當極性選擇位為0時,OCx端的輸出跟比較輸出控制器的輸出信號OCxREF保持同相,當極性選擇位為1時,OCx端的輸出跟比較輸出控制器的輸出信號OCxREF保持反相關系。

下圖是一常規定時器的通道4的輸出結構框圖.

我們在使用TIMER的pwm過程中,當通過關閉計數器停止PWM輸出時,由于停止時間點的隨機性導致計數器的值不定,進而引起CNT的值與CCR的值出現不定的比較結果,最終體現在OC輸出端呈現不確定的電平。有些時候,我們停止或暫停PWM輸出時往往希望OC輸出端呈現我們所期望的電平。

這個怎么辦呢?方法一般可以有下面幾種。

第一種,將相關PWM輸出的GPIO口的復用功能取消,對其進行GPIO的高低控制。這種方法簡單可行,有點粗暴。但不影響定時器的現有輸出配置。要恢復功能的話,需重新對GPIO做復用配置。

第二種,采用定時器輸出模式中的強制輸出,將相應的OC端輸出指定的高低電平。

這種方法,同樣簡單有效。不影響GPIO配置,但影響了定時器的現有輸出配置。要恢復PWM功能時需重新對定時器的輸出功能做配置。

第三種,通過修改CCR為特別的值,將CCR的值與CNT的比較結果固定下來,從而得到所期望的輸出電平。

第一種、第二種方式,可行但稍顯繁瑣了點。除非不需要PWM輸出了,不然還得重新配置回去。這里重點介紹第三種,簡單地修改CCR寄存器地值而鎖定OC腳的輸出電平,要繼續輸出PWM的話,只需修改CCR值即可,無須其它配置。

下圖是定時器某通道的PWM輸出波形示意圖。采用PWM1輸出模式,計數器采用向上計數模式。極性選擇為高有效,即極性控制位CCxP=0。此時OCx輸出將與中間參考信號OCxREF同相輸出。其中ARR=8。

從上圖中我們看到,當CCR的值取0或比ARR值還大時,OCxREF將保持固定電平輸出,相應地OCx端也會結合極性選擇位輸出固定電平。基于這個特性,我們可以隨時修改某通道的CCR值來取消其PWM輸出。【嚴格上講,不能說取消了它的PWM輸出,只是輸出了一個固定電平,占空比為100%或0】

上面是針對非互補通道停止PWM輸出的確定電平的實施方案。有人會問那對于互補通道的PWM輸出的中途停止,電平如何確定呢?這個問題其實有點怪,但偏偏常有人問起。

通常情況下,對于互補輸出通道不同狀態下的輸出特性,在STM32參考手冊中高級定時器的寄存器描述中有個表格都羅列出來了。下圖是STM32F4參考手冊中TIM1的互補通道輸出特性表【只是完整表格中的一部分,主輸出使能的情況下】。

對于PWM互補輸出的停止,可能是停止1個通道,也可能停止一對互補通道,即2個通道。

如果只需停止1個通道的輸出,我們可以參考上述表格來配置。

若希望停止了PWM輸出的OCx端輸出低電平,我們可以選擇上圖中橙色欄的配置。

若希望停止了PWM輸出的OCx端輸出高電平,這時情況稍微復雜些。

此時我們可以考慮選擇淺藍色欄的配置。不過,此時的OCx輸出跟極性選擇位一致,如果極性選擇位為0,則輸出低電平;如果極性選擇位為1,則輸出高電平。也就是說,這種情況下,所選擇通道停止輸出時的電平跟極性選擇位有關。

如果覺得自己的應用有這方面的需求,事先規劃PWM功能時就要考慮極性選擇位安排問題。當然,由于極性選擇位影響到最終OCx輸出端,可能會遇到極性選擇位和PWM輸出波形在應用上兼顧不過來的情形,這時可以考慮對所選擇通道的PWM復用功能取消,直接操作GPIO來控制OCx腳的輸出電平。

?若希望暫停一對互補通道的PWM輸出呢?這里有幾種情況:

1、暫停PWM輸出后,希望OCx/OCxN端輸出低電平,這點好辦。參照上圖中紅色欄配置即可。即令CCXE=CCXNE=0。

2、?暫停PWM輸出后,希望OCX/OCXN端輸出一高一低呢?

如果該互補通道的極性選擇位一樣,參照上面單個非互補通道的作法,修改CCR寄存器的值比ARR大或者等于0,一定可以實現輸出一高一低的電平。

如果如果該互補通道的極性選擇位不一樣,參照上面單個非互補通道的作法,修改CCR寄存器的值比ARR大或者等于0,這時OCX/OCXN端的電平一定一致的,要么同高要么同低。這時可以嘗試回頭重新規劃下互補通道的輸出與極性選擇,看看能否做調整而不影響應用功能。不行的話,考慮將其中某個通道的PWM輸出復用功能取消,直接操作GPIO。

3、暫停PWM輸出后,希望OCX/OCXN端輸出同為高呢?這在上面第2點已經提到了。如果互補通道的輸出極性選擇位不一樣,通過調整CCR寄存器的值一定可以實現雙通道同時輸出高電平。如果說互補通道的輸出極性選擇位是一致的,同樣可以嘗試重新規劃互補通道的輸出與極性選擇位的安排。不行的話,考慮取消其中某個通道的GPIO復用功能,直接操作寄存器來控制該輸出端的電平。

好,關于停止STM32定時器PWM輸出后電平的確定話題,就聊這么多。供君參考。最后提醒一點,關于修改CCR值后的生效時間點跟是否開啟了其預裝載功能有關。

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

    關注

    116

    文章

    5456

    瀏覽量

    218764
  • STM32
    +關注

    關注

    2291

    文章

    11022

    瀏覽量

    363485
  • 定時器
    +關注

    關注

    23

    文章

    3297

    瀏覽量

    117604

原文標題:STM32定時器停止PWM輸出時的電平話題

文章出處:【微信號:stmcu832,微信公眾號:茶話MCU】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    MCU定時器/計數

    架構與功能特性? 定時器類型與配置? 高級控制定時器?:支持互補PWM輸出與剎車功能,適用于電機驅動等高精度控制場景。通用定時器?:集成輸入
    的頭像 發表于 04-27 13:54 ?238次閱讀

    使用stm32f4056步pwm輸出時,定時器配置由強制輸出轉為pwm,com觸發后會有延遲生效的現象,怎么解決?

    我在使用stm32f4056步pwm輸出時發現,定時器的配置由pwm改為強制
    發表于 03-13 07:24

    如何使用定時器在任意IO輸出PWM

    在CubeMx內的配置,計劃在PA2口輸出PWM控制風機,但是TIM2已經初始化做輸入捕獲用了,因此需要用到別的未使用的定時器在PA2口輸出PWM
    發表于 03-13 06:04

    stm32同一個定時器不同的通道,可以不同時的輸出pwm波形嗎?

    請問,stm32的同一個定時器,不同的通道,可以不同時的輸出pwm波形嗎?比如tim1的ch1輸出,延時幾毫秒后tim1的ch2
    發表于 03-07 08:20

    詳解CKS32F107xx系列的定時器同步功能

    我們將圍繞定時器同步功能概述展開,并以其中一種功能為例——將定時器2給定時器3當預分頻,最終級聯同步PWM
    的頭像 發表于 11-26 17:51 ?1005次閱讀
    詳解CKS32F107xx系列的<b class='flag-5'>定時器</b>同步功能

    高級定時器PWM輸入模式的配置方法

    我們將向大家介紹高級定時器的另一個常見應用——PWM輸入模式。在本節課中,我們將先圍繞輸入捕獲模式展開,并重點描述PWM輸入模式和涉及的寄存,最后通過一個實驗例程去介紹
    的頭像 發表于 11-08 16:48 ?4251次閱讀
    高級<b class='flag-5'>定時器</b><b class='flag-5'>PWM</b>輸入模式的配置方法

    PWM輸出配置方法

    從上節課的定時器分類圖中我們了解到,互補輸出是高級定時器(TIM1、TIM8)所獨有的,它可以輸出兩路互補信號。而在本節課中我們將通過一個簡單的例程去介紹如何配置互補
    的頭像 發表于 11-04 09:44 ?2806次閱讀
    <b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>配置方法

    使用MSP430高分辨率定時器PWM DAC

    電子發燒友網站提供《使用MSP430高分辨率定時器PWM DAC.pdf》資料免費下載
    發表于 09-20 10:53 ?0次下載
    使用MSP430高分辨率<b class='flag-5'>定時器</b>的<b class='flag-5'>PWM</b> DAC

    stm32定時器編碼模式可以輸出嗎?

    我想要做正交編碼,但是網上一般只介紹了用編碼對其解碼,而我需要的是輸出波形。我在一個小網站的解答上看到定時器的編碼
    發表于 07-31 07:59

    STM32F407同一個定時器的兩個通道產生的PWM脈沖不對是哪里出了問題?

    STM32F407VE ,使用定時器1同時產生兩路PWM波 兩路PWM產生的脈沖數不一樣時,實際產生的脈沖不對,會少1個 實際上是不能使用這種方式
    發表于 07-26 07:57

    GD32E230C8T6高級定時器timer0無法正常輸出PWM波形的原因?

    原本想用高級定時器的中央對齊計數模式來輸出SPWM波,但是TIMER0的CH0,CH1等口,都無法正常輸出PWM波形,換成普通定時器就可以了
    發表于 07-26 06:34

    請問如何使用定時器在任意IO輸出PWM

    問題描述: 在CubeMx內的配置,計劃在PA2口輸出PWM控制風機,但是TIM2已經初始化做輸入捕獲用了,因此需要用到別的未使用的定時器在PA2口輸出
    發表于 07-24 06:38

    stm32f103vct6的高級定時器按通用定時器設置的,為什么沒有輸出

    用的是Tim8,本來想用tim2作為主定時器控制tim8輸出的,結果就算我把主從去掉了也輸出不了,只看到高電平 用的是老代碼,標準庫,不知道之前也不習慣用高級
    發表于 07-23 07:58

    定時器的工作方式介紹

    或實現周期性事件的硬件模塊。它可以用于實現各種定時任務,如定時中斷、PWM(脈沖寬度調制)輸出、頻率測量等。定時器通常由一個計數
    的頭像 發表于 07-12 10:29 ?1879次閱讀

    STM32G4系列芯片定時器的延時輸出問題

    有人使用STM32G4系列芯片內部的多個定時器PWM輸出輸出頻率一樣,占空比也一樣,均為50
    的頭像 發表于 07-01 09:45 ?2579次閱讀
    <b class='flag-5'>STM32</b>G4系列芯片<b class='flag-5'>定時器</b>的延時<b class='flag-5'>輸出</b>問題
    主站蜘蛛池模板: 安吉县| 蕉岭县| 凉山| 五大连池市| 韶关市| 武定县| 宝山区| 冀州市| 依安县| 鄂尔多斯市| 泗水县| 合川市| 罗定市| 望江县| 昆明市| 本溪市| 溆浦县| 塔河县| 天全县| 平陆县| 武隆县| 星座| 祁东县| 本溪| 平潭县| 汉源县| 仁怀市| 时尚| 阜宁县| 澄迈县| 丹江口市| 芒康县| 邻水| 麻栗坡县| 吉安市| 鹤壁市| 千阳县| 安平县| 昌黎县| 叙永县| 大石桥市|