STM32 一個定時器產生4路 獨立調頻率,占中比可調,脈沖個數可以統計。


 

實現這個功能,基本原理是利用STM32 的輸出比較功能。

1、其它設置就是普通定時器的設置這里開啟,四個輸出比較中斷,和一個更新中斷

更新中斷這里不需要開也可以達到目的,我這里開啟是做其它的用處的。設置TIM2->DIER 開啟對應中斷

這是中斷服務函數中的一段,框出來的就是實現調頻率的,

首先要知道,定時器的CNT=CCRx就會產生一個中斷,每次修改

CCRx中的值,CNT照常加,當CNT=CCRx時就重新設置一個值,為

CNT的追趕值,這時就可以通過改寫CCRx的值達到改變頻率的目的了。

這時如果使能了對應的輸出,定時器的對應通道也會輸出電平(操作TIMx->CCMRx中的OCxM)。

 

注意:頻率可調的前提是不能使能,通道的預裝載,只要不使能這個位,每次更改的CCMRx的值就會即時生效。當然脈沖個數就只需要在中斷中計數就可以了              0.0;

                            波形個數 = 計數值/2                                                                                                                                           

假如要調節占空比的話,只需要將追趕值分開就可以了。例如 追趕值 = 6000  在單次次進入中斷 CCMRx = 4000 雙次進入中斷的時候CCMRx = 2000這樣不就調節成占空比

1/3了么

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM