- 打卡等级:初来乍到
- 打卡总天数:5
- 最近打卡:2025-12-04 10:05:00
已绑定手机
新手上路
- 积分
- 48
|
发表于 2025-11-19 11:54:52
|
显示全部楼层
void PWMA_PhaseInit(void)
{
PWMA_PERIOD=1200;
PWM5_Duty=PWMA_PERIOD/2;
PWM6_Duty=0;
Phase_shift=0;
P_SW2 |=0x80;
PWMA_PS = 0x00; //PWMA5-P1.3 PWMA6-P1.5
P_SW2 &=0x80;
PWMA_CR1 =0x80;
PWMA_PSCR =0x00;
PWMA_CCER3 = 0x00;
PWMA_ARR = PWMA_PERIOD; //设置周期时间
PWMA_CCMR5X = 0x00;;//PWMA5不对称PWM模式1
PWMA_CCMR5 = 0x60;
PWMA_CCMR6X = 0x01;;//PWMA6不对称PWM模式1
PWMA_CCMR6 = 0x60;
PWMA_CCR5H = (u8)(PWM5_Duty >> 8); //设置占空比时间
PWMA_CCR5L = (u8)(PWM5_Duty);
PWMA_CCR6H = (u8)((PWM6_Duty+Phase_shift) >> 8); //设置占空比时间
PWMA_CCR6L = (u8)((PWM6_Duty+Phase_shift));
PWMA_CCER3 = 0x11; //CC6P=0 CC6E=1 CC5P=0 高电平有效 CC5E=1 开启输入捕获/比较输出
PWMA_ENO2 = 0x05;//使能PWMAPS5和PWMAPS6输出
PWMA_EGR = 0x01;// 产生一次更新事件, 清除计数器和预分频计数器, 装载预分频寄存器的值
PWMA_BKR = 0x80; //使能主输出
PWMA_CR1 |= 0x21; //中心对齐模式1,开始计时
}
void PWMA_Phase_Adjust(void)
{
if(Phase_shift <= PWM5_Duty)
{
PWMA_ARR = PWMA_PERIOD; //设置周期时间
PWMA_CCR6H = (u8)((PWM6_Duty+Phase_shift) >> 8); //设置占空比时间
PWMA_CCR6L = (u8)((PWM6_Duty+Phase_shift));
} |
|