📄 pwm.c
字号:
#include "PWM.h"
void PWM_init(void)
{
MCF_GPIO_PTCPAR=MCF_GPIO_PTCPAR_DTIN0_PWM0
|MCF_GPIO_PTCPAR_DTIN1_PWM2
|MCF_GPIO_PTCPAR_DTIN2_PWM4
|MCF_GPIO_PTCPAR_DTIN3_PWM6;
MCF_GPIO_PTAPAR=MCF_GPIO_PTAPAR_ICOC0_PWM1
|MCF_GPIO_PTAPAR_ICOC1_PWM3
|MCF_GPIO_PTAPAR_ICOC2_PWM5
|MCF_GPIO_PTAPAR_ICOC3_PWM7;
//pwm Polarity Register
//PWM 极性寄存器 1:高,0:低
MCF_PWM_PWMPOL=MCF_PWM_PWMPOL_PPOL0
|MCF_PWM_PWMPOL_PPOL1
|MCF_PWM_PWMPOL_PPOL2
|MCF_PWM_PWMPOL_PPOL3
|MCF_PWM_PWMPOL_PPOL4
|MCF_PWM_PWMPOL_PPOL5
|MCF_PWM_PWMPOL_PPOL6
|MCF_PWM_PWMPOL_PPOL7;
//pwm Clock select register:1-SA or SB 0-A or B
//PWM 时钟选择寄存器 1:SA / SB , 0:A / B
MCF_PWM_PWMCLK=MCF_PWM_PWMCLK_PCLK0
|MCF_PWM_PWMCLK_PCLK1
|MCF_PWM_PWMCLK_PCLK2
|MCF_PWM_PWMCLK_PCLK3
|MCF_PWM_PWMCLK_PCLK4
|MCF_PWM_PWMCLK_PCLK5
|MCF_PWM_PWMCLK_PCLK6
|MCF_PWM_PWMCLK_PCLK7;
//pwm prescale clock select register bit[6:4]PCKB bit[2:0]PCKA
//PWM 预分频寄存器 fA=fBUS/2^PCKA,fB=fBUS/2^PCKB
MCF_PWM_PWMPRCLK=MCF_PWM_PWMPRCLK_PCKA(0)
|MCF_PWM_PWMPRCLK_PCKB(0);
//pwm center align enable register:1-center-aligned 0-left-aligned
//PWM 中心对齐使能寄存器 1:中心对齐,0:左对齐
MCF_PWM_PWMCAE=MCF_PWM_PWMCAE_CAE0
|MCF_PWM_PWMCAE_CAE1
|MCF_PWM_PWMCAE_CAE2
|MCF_PWM_PWMCAE_CAE3
|MCF_PWM_PWMCAE_CAE4
|MCF_PWM_PWMCAE_CAE5
|MCF_PWM_PWMCAE_CAE6
|MCF_PWM_PWMCAE_CAE7;
//pwm control register:0-separate
//PWM 控制寄存器
MCF_PWM_PWMCTL=0x00;
//pwm scale A&B register Clock SA=Clock A/2*PWMSCLA
//PWM 分频寄存器 A/B fSA=fA/(2*PWMSCLA)
MCF_PWM_PWMSCLA=100;
MCF_PWM_PWMSCLB=100;
//pwm channel counter register
//PWM 通道计数寄存器
MCF_PWM_PWMCNT0=0;
MCF_PWM_PWMCNT1=0;
MCF_PWM_PWMCNT2=0;
MCF_PWM_PWMCNT3=0;
MCF_PWM_PWMCNT4=0;
MCF_PWM_PWMCNT5=0;
MCF_PWM_PWMCNT6=0;
MCF_PWM_PWMCNT7=0;
//pwm channel period register
//PWM 通道周期寄存器
MCF_PWM_PWMPER(0)=100;
MCF_PWM_PWMPER(1)=100;
MCF_PWM_PWMPER(2)=100;
MCF_PWM_PWMPER(3)=100;
MCF_PWM_PWMPER(4)=100;
MCF_PWM_PWMPER(5)=100;
MCF_PWM_PWMPER(6)=100;
MCF_PWM_PWMPER(7)=100;
//pwm channel duty register
//PWM 通道占空比寄存器
MCF_PWM_PWMDTY(0)=10;
MCF_PWM_PWMDTY(1)=20;
MCF_PWM_PWMDTY(2)=30;
MCF_PWM_PWMDTY(3)=40;
MCF_PWM_PWMDTY(4)=50;
MCF_PWM_PWMDTY(5)=60;
MCF_PWM_PWMDTY(6)=70;
MCF_PWM_PWMDTY(7)=80;
//pwm shutdown register
//PWM 关闭寄存器
MCF_PWM_PWMSDN=MCF_PWM_PWMSDN_IF;
//PWM 使能寄存器
MCF_PWM_PWME=MCF_PWM_PWME_PWME0
|MCF_PWM_PWME_PWME1
|MCF_PWM_PWME_PWME2
|MCF_PWM_PWME_PWME3
|MCF_PWM_PWME_PWME4
|MCF_PWM_PWME_PWME5
|MCF_PWM_PWME_PWME6
|MCF_PWM_PWME_PWME7;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -