stm32 输出PWM
? ? ? ?脈沖寬度調制(PWM),是英文“Pulse Width Modulation”的縮寫,簡稱脈沖調制,是利用微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術。STM32的定時器除了TIM6和TIM7,都可用來產生PWM輸出。
? ? ? ?各種寄存器的配置在此不再啰嗦,只說一下PWM的周期和占空比如何配置。
? ? ? ?PWM的周期,和兩個寄存器有關,分別是ARR寄存器和PSC寄存器。首先,確定TIMx的時鐘,除非APB1的時鐘分頻數設置為1,否則通用定時器TIMx的時鐘是APB1時鐘的2倍,也就是72MHz,用這個TIMx時鐘72MHz除以(PSC+1),得到定時器計數頻率,即每隔多少秒漲一次,這里給PSC賦7199,計算得定時器每隔0.0001秒漲一次,即此時頻率為10KHz,再把這個值乘以(ARR+1)得出PWM頻率,假如ARR值為0,即0.0001*(0+1),則輸出PWM頻率為10KHz,再假如輸出頻率為100Hz的PWM,則將ARR寄存器設置為99即可。如果想調整PWM占空比精度,則只需降低PSC寄存器的值即可。
? ? ? ?確定PWM的占空比。
? ? ? ?TIMx_CCR1—TIMx_CCR4確定定時器的CH1—CH4四路PWM的占空比。直接給該寄存器賦0—65535值即可確定占空比。占空比計算方法:TIMx_CCRx的值除以ARR寄存器的值即為占空比,因為占空比在0—100%之間,所以一般TIMx_CCRx寄存器值不能超過ARR寄存器的值,否則可能會引起PWM的頻率或占空比的準確性。
? ? ? ?粘出初始化代碼。
?
轉載于:https://www.cnblogs.com/lixinlei/p/7229310.html
總結
以上是生活随笔為你收集整理的stm32 输出PWM的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【高斯消元】兼 【期望dp】例题
- 下一篇: 数据结构与算法JavaScript描述—