<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 關(guān)于STM32 定時器 PWM 實時調(diào)節(jié)占空比時,預(yù)裝載特性

          關(guān)于STM32 定時器 PWM 實時調(diào)節(jié)占空比時,預(yù)裝載特性

          作者: 時間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
          最近在調(diào)試項目的時候遇到一個奇怪的現(xiàn)象:在調(diào)試狀態(tài)下,給定時器捕獲比較寄存器賦不同值,能產(chǎn)生不同占空比的波形(圖1)。反映到器件上也有不同的電壓顯示,但是在設(shè)備運行的時候,就不行了(圖2)。

          本文引用地址:http://www.ex-cimer.com/article/201611/318031.htm

          圖1

          圖2

          糾結(jié)了N天后,也沒有辦法解決,只好乖乖的看STM32控制器手冊找找看了,結(jié)果還真找到了。

          從圖中可以看到,如果使能預(yù)裝載特性,則數(shù)據(jù)會立即寫入寄存器中,如果沒有使能,那就得等到有事件(?)發(fā)生了。這我就明白了,在調(diào)試狀態(tài)下,給寄存器賦值,不會產(chǎn)生什么影響,因為人的反應(yīng)速度很慢,但是在運行的時候,占空比是實時發(fā)生改變的,這樣就不能及時寫入到捕獲比較寄存器中,輸出就不會改變了。所以在配置定時器輸出PWM的時候,還是乖乖的把預(yù)裝載使能吧。代碼原型如下:

          /*******************************************************************************

          * Function Name : TIM_OC3PreloadConfig

          * Description : Enables or disables the TIMx peripheral Preload register on CCR3.

          * Input : - TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM *

          peripheral.

          * - TIM_OCPreload: new state of the TIMx peripheral Preload

          * register

          * This parameter can be one of the following values:

          * - TIM_OCPreload_Enable

          * - TIM_OCPreload_Disable

          * Output : None

          * Return : None

          *******************************************************************************/

          void TIM_OC3PreloadConfig(TIM_TypeDef* TIMx, u16 TIM_OCPreload)

          {

          u16 tmpccmr2 = 0;

          /* Check the parameters */

          assert_param(IS_TIM_123458_PERIPH(TIMx));

          assert_param(IS_TIM_OCPRELOAD_STATE(TIM_OCPreload));

          tmpccmr2 = TIMx->CCMR2;

          /* Reset the OC3PE Bit */

          tmpccmr2 &= CCMR_OC13PE_Reset;

          /* Enable or Disable the Output Compare Preload feature */

          tmpccmr2 = TIM_OCPreload;

          /* Write to TIMx CCMR2 register */

          TIMx->CCMR2 = tmpccmr2;

          }



          關(guān)鍵詞: STM32定時器PWM占空比

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();