void SetCap1Mode(void)
{
ECap1Regs.ECCTL1.bit.CAP1POL=0;//0 上升沿捕捉;1 下降沿捕捉。
ECap1Regs.ECCTL1.bit.CAP2POL=0;
ECap1Regs.ECCTL1.bit.CAP3POL=0;
ECap1Regs.ECCTL1.bit.CAP4POL=0;
ECap1Regs.ECCTL1.bit.CTRRST1=0;//0在CAP1事件中不重置计数器,1捕获后重置计数器
ECap1Regs.ECCTL1.bit.CTRRST2=0;
ECap1Regs.ECCTL1.bit.CTRRST3=0;
ECap1Regs.ECCTL1.bit.CTRRST4=0;
ECap1Regs.ECCTL1.bit.CAPLDEN=1;//使能事件捕捉时捕捉寄存器装载计数器的值
ECap1Regs.ECCTL1.bit.PRESCALE=0;//0代表输入信号不分频
ECap1Regs.ECCTL2.bit.CAP_APWM=0;//0:eCAP模块工作于捕捉模式;1:eCAP模块工作于APWM模式
ECap1Regs.ECCTL2.bit.CONT_ONESHT=0;//0:连续模式;1:单次模式
ECap1Regs.ECCTL2.bit.SYNCO_SEL=2;//同步信号输出禁止
ECap1Regs.ECCTL2.bit.SYNCI_EN=0;//使能同步信号输入
ECap1Regs.ECEINT.all=0x0000;//关闭所有CAP中断
ECap1Regs.ECCLR.all=0xFFFF;//清除所有中断标志位
ECap1Regs.ECCTL2.bit.TSCTRSTOP=1;//1:TSCTR运行;0:TSCTR停止
ECap1Regs.ECEINT.bit.CEVT4=1;//发生第4次捕获时进入中断
}
我的ecap1配置,测试了中断进入也没问题,就是几个寄存器的值一样啊,求大神解答
|