STC8H單片機(jī)PWM的寄存器太多,且有些寄存器的功能看著比較相似,手冊介紹的也不太清楚,難以區(qū)別,設(shè)置起來非常困難,我前前后后閱讀器多次并反復(fù)設(shè)置測試,PWM才正常,但其捕捉功能我現(xiàn)在還沒明白。
樓主的PWM沒有輸出,我在STC8H1K16的4N已輸出正常,頻率和占空比按照預(yù)設(shè)要求輸出,經(jīng)對比發(fā)現(xiàn)對寄存器的設(shè)置有以下不同:
51hei圖片_20230718110234.png (18.37 KB, 下載次數(shù): 47)
下載附件
2023-7-18 11:37 上傳
1. PWMA_CCMR4。 樓主設(shè)置 0x60=0110 0000,我設(shè)置的是0x68=0110 1000,我與樓主相比是多開啟了占空比數(shù)值預(yù)裝載功能。官方的例程僅是輸出PWM測試,不改變占空比CCR和計(jì)數(shù)周期ARR的數(shù)值,所以官方例程沒有開啟占空比和計(jì)數(shù)周期預(yù)裝載功能,在實(shí)際應(yīng)用時(shí)大都需要是是調(diào)整占空比和頻率,更改預(yù)裝載值,故大多數(shù)情況下是開啟。 2. PWMA_CCER2。樓主設(shè)置0x10=0001 0000,使B4位的CC4E=1,開啟的是4P比較功能,我設(shè)置的是0x40=0100 0000,使B6位的CC4NE=1,開啟的是4N比較功能。 我們開啟的是4N功能,故PWMA_CCER2應(yīng)該設(shè)置為0x40才行。 3.樓主沒有設(shè)置PWMA_PS,即PWMA_PS是復(fù)位值0x00,其設(shè)置為4N在P1.7腳輸出;我設(shè)置PWMA_PS = 0x40=0100 0000,設(shè)置4N在P2.7腳輸出。樓主的是STC8H1K08,4N欲在P3.3輸出,設(shè)置PWMA_PS= 0xC0才行(11000000)。 4.PWMA_CR1。區(qū)別同1,我是開啟了ARR預(yù)裝載功能。
|