端口设置:
寄存器配置:
void PWM_Config(void) {
P2M0 &= //配置
P2M1 &=
P0 &= //设置P2.1 P2.2电平
PWMCKS =
PWMC = CYCLE;
PWM3T1 =
PWM3T2 =
PWM3CR =
PWM4T1 =
PWM4T2 =
PWM4CR =
PWMCFG = 0x00; //配置PWM输出初始电平
PWMCR = 0x3f; //使能PWM信号输出
PWMCR |= 0x80; //使能PWM模块
P_SW2 &= ~0x80;
}
void PWM3_SetPwmWide(unsigned char wide) {
if(wide == 0) { //脉冲宽度为0,输出恒为0
PWMCR &= ~0x02;
PWM3 = 0;
} else if(wide == CYCLE) { //脉冲宽度为周期长度,输出恒为1
PWMCR &= ~0x02;
PWM3 = 1;
} else {
P_SW2 |= 0x80;
PWM3T1 = wide;
P_SW2 &= ~0x80;
PWMCR |= 0x02;
}
}