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