主题中讨论的其他器件:C2000WARE
工具/软件:Code Composer Studio
您好!
使用 ECAP 引脚测量频率 , 通过使用 ECAP 引脚在 GPIO 0 (PWM 引脚)中针对各种频率(1k 至50kHz)生成的 PWM 信号,我可以找出在 PWM 引脚中生成的精确频率。
函数发生器具有相同的功能,生成 具有各种频率(1kz、10kHz、100kHz)的方波,我无法通过 ECAP 引脚获得正确的频率。
我的 ECAP 配置为:
ECap1Regs.ECEINT.ALL = 0x0000; //禁用所有捕捉中断*/ \
ECap1Regs.ECCTL1.bit.prescale=1; \
ECap1Regs.ECCTL1.bit.FREE_SOFT=2; \
ECap1Regs.ECCLR.ALL = 0xFFFF; // 清除所有 CAP 中断标志*/ \
ECap1Regs.ECCTL1.bit.CAPLDEN = 0; //禁用 CAP1-CAP4寄存器加载*/ \
ECap1Regs.ECCTL2.bit.TSCTRSTOP = 0; /*确保计数器被停止*/ \
ECap1Regs.ECCTL2.bit.CONT_ONESHT = 0; /*持续*/ \
ECap1Regs.ECCTL1.bit.CAP1POL = 1; /*下降沿*/ \
ECap1Regs.ECCTL1.bit.CTRRST1 = 1; /*差动操作*/ \
ECap1Regs.ECCTL2.bit.SYNCI_EN = 0; //禁用同步输入*/ \
ECap1Regs.ECCTL2.bit.SYNCO_SEL = 3; /*直通*/ \
ECap1Regs.ECCTL1.bit.CAPLDEN = 1; /*启用捕捉单元*/ \
ECap1Regs.ECEINT.BIT.CEVT1 = 1; \
ECap1Regs.ECCTL2.bit.TSCTRSTOP = 1; //开始计数器*/ \
ECap1Regs.ECCTL1.bit.CAPLDEN = 1; //启用 CAP1-CAP4寄存器加载*/ \
ECap1Regs.ECCTL2.bit.STOP_WOP=0;
FREQ=((200000000)/ECap1Regs.CAP1)
ECap1Regs.ECCLR.bit.CEVT1 = 1;
ECap1Regs.ECCLR.bit.INT = 1;
PieCtrlRegs.PIEACX.ALL = PIEACK_group4;
是否缺少任何配置来获得准确的值?
我们可以 通过 ECAP 引脚测量外部脉冲信号的精确值吗?
提前感谢
谢谢、此致、
Rani