在线时间43 小时
UID3743754
注册时间2021-5-28
NXP金币0
TA的每日心情 | 衰 2021-8-30 18:28 |
---|
签到天数: 4 天 [LV.2]偶尔看看I
中级会员
- 积分
- 467
- 最后登录
- 2022-9-8
|
楼主 |
发表于 2021-8-3 11:54:42
|
显示全部楼层
目前可以使用fault功能,使用kFTM_Fault_AllChnlsAuto 如下圖。
但還有疑問,ftm_fault_mode_t中的kFTM_Fault_AllChnlsMan怎麼操作?
要如何回復成正常輸出PWM?
是要透過中斷副程式清除Flag嗎?
int main(void) {
ftm_config_t ftmInfo;//timer struct
ftm_chnl_pwm_signal_param_t ftmParam;//timer pwm struct
ftm_fault_param_t fault;//timer fault struct
/* Configure ftm params with frequency 24kHZ */
ftmParam.chnlNumber = kFTM_Chnl_0;
ftmParam.level = kFTM_HighTrue;
ftmParam.dutyCyclePercent = 50;
ftmParam.firstEdgeDelayPercent = 0U;
ftmParam.enableComplementary = false;
ftmParam.enableDeadtime = false;
/*Configure fault param*/
fault.enableFaultInput=true;
fault.faultLevel=false;
fault.useFaultFilter=false;
/* Board pin, clock, debug console init */
BOARD_InitBootPins();
BOARD_InitBootClocks();
BOARD_InitBootPeripherals();
BOARD_InitDebugConsole();
FTM_GetDefaultConfig(&ftmInfo);
ftmInfo.faultMode=kFTM_Fault_AllChnlsMan;
/* Initialize FTM module */
FTM_Init(FTM0, &ftmInfo);
/*Setup PWM param*/
FTM_SetupPwm(FTM0, &ftmParam, 1U, kFTM_EdgeAlignedPwm, 20000U, FTM_SOURCE_CLOCK);
/*Setup fault param*/
FTM_SetupFaultInput(FTM0,kFTM_Fault_0,&fault);
FTM_SetFaultControlEnable(FTM0,kFTM_Fault_0,true);//setup FTM0_Fault0
/*Start timer*/
FTM_StartTimer(FTM0, kFTM_SystemClock);
|
|