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