智能车制作
标题:
关于FTM模块的溢出中断问题 如何设置问题 进贴详情
[打印本页]
作者:
zc895384238
时间:
2017-3-6 12:39
标题:
关于FTM模块的溢出中断问题 如何设置问题 进贴详情
以下代码是FTM使能的最后一段 其中有一段是FTM_SC_REG(FTMx[ftmn]) = FTM_SC_CPWMS_MASK | FTM_SC_PS(sc_ps) | FTM_SC_CLKS(1); //没有使能溢出中断
问题是如何让使能溢出中断呢 本人急需这个功能
/******************** 选择输出模式为 边沿对齐PWM *******************/
//通道状态控制,根据模式来选择 边沿或电平
FTM_CnSC_REG(FTMx[ftmn], ch) &= ~FTM_CnSC_ELSA_MASK;
FTM_CnSC_REG(FTMx[ftmn], ch) = FTM_CnSC_MSB_MASK | FTM_CnSC_ELSB_MASK;
//MSnB:MSnA = 1x
// ELSnB:ELSnA = 10 High-true pulses (clear Output on match)
// ELSnB:ELSnA = 11 Low-true pulses (set Output on match)
// Edge-aligned PWM 边沿对齐PWM波 《k16 reference manual.pdf》 P944 或者 《K60P144M100SF2RM.pdf》P1001
/******************** 配置时钟和分频 ********************/
FTM_SC_REG(FTMx[ftmn]) = FTM_SC_CPWMS_MASK | FTM_SC_PS(sc_ps) | FTM_SC_CLKS(1); //没有使能溢出中断
FTM_CNTIN_REG(FTMx[ftmn]) = 0; // Channel (n) Value 。设置脉冲宽度:(CnV - CNTIN).
FTM_MOD_REG(FTMx[ftmn]) = mod; //Modulo value模数, EPWM的周期为 :MOD - CNTIN + 0x0001
FTM_CNTIN_REG(FTMx[ftmn]) = 0; //Counter Initial Value 计数器初始化值
FTM_CnV_REG(FTMx[ftmn], ch) = cv;
FTM_CNT_REG(FTMx[ftmn]) = 0; //计数器。只有低16位可用
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2