在线时间19 小时
UID2015164
注册时间2013-5-30
NXP金币0
该用户从未签到
注册会员

- 积分
- 150
- 最后登录
- 2019-11-7
|
KEA128配置完成,可以看到死区脉冲
配置代码如下:
void PWMOUT_Init(void)
{
FTM_ConfigType FTM2_Config = {0};
FTM2_Config.mode = 1;
FTM2_Config.modulo = REAL_DRIVE_MOD_VAL;
FTM2_Config.combine = FTM_COMBINE_COMBINE0_MASK|FTM_COMBINE_COMP0_MASK;
FTM2_Config.clk_source = FTM_CLOCK_SYSTEMCLOCK;
FTM2_Config.prescaler = FTM_CLOCK_PS_DIV1;
FTM2_Config.toie = 1;
FTM2_Config.deadtime = 24;
FTM2CH0_Config.ctrl.bits.bMode = FTM_PWMMODE_COMBINE;
FTM2CH0_Config.ctrl.bits.bPWMPol = FTM_PWM_HIGHTRUEPULSE;
FTM2CH0_Config.u16CnV = 0;
FTM2CH1_Config.ctrl.bits.bMode = FTM_PWMMODE_COMBINE;
FTM2CH1_Config.ctrl.bits.bPWMPol = FTM_PWM_HIGHTRUEPULSE;
FTM2CH1_Config.u16CnV = REAL_DRIVE_MOD_VAL;
FTM_ChannelInit(pFTM2,0,FTM2CH0_Config);
FTM_ChannelInit(pFTM2,1,FTM2CH1_Config);
SIM_PINSEL1 |= SIM_PINSEL1_FTM2PS0(2)|SIM_PINSEL1_FTM2PS1(2); /* Select Pins corresponds to the PTF0 for output */
FTM_Init(pFTM2,&FTM2_Config); /* Generate PWM signal */
}
配置完成,用以下代码修改占空比
void PWMOUT_SetDutyCycle(FTM_Type *pFTM,u16 u16DutyCycleCnt)
{
if(pFTM==FTM2)
{
FTM2_C0V = u16DutyCycleCnt;
FTM2_C1V = REAL_DRIVE_MOD_VAL-1;
}
}
出现的问题:
1、死区脉冲设置不起作用
FTM2_Config.deadtime = 24;
与
FTM2_Config.deadtime = 1;
执行结果没有区别
2、无法改变占空比
单步调试表明 FTM2_C0V、FTM2_C1V值没有改变
|
|