This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMDSCNCD28335:28335

Guru**** 2595800 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/670234/tmdscncd28335-28335

器件型号:TMDSCNCD28335

您好!

我只想使用 eCAP 模块来查找波形的占空比和周期。 我正在使用下面的代码来设置 eCAP 模块、但是 DutyOnTime1和 PERIOD1等全部为0 (初始化值)。   我根据 需要设置 ePWM 模块及其输出。 我正在将其中一个 ePWM (GPIO00)输出连接到 GPIO24 (eCAP1)。 您能不能告诉我 eCAP 模块设置是否有任何错误。

void SetupECapture(){
// ECAP 模块1配置
ECap1Regs.ECCTL1.bit.CAP1POL=0;
ECap1Regs.ECCTL1.bit.CAP2POL=1;
ECap1Regs.ECCTL1.bit.CAP3POL=0;
ECap1Regs.ECCTL1.bit.CAP4POL=1;
ECap1Regs.ECCTL1.bit.CTRST1 = 1;
ECap1Regs.ECCTL1.bit.CTRST2 = 1;
ECap1Regs.ECCTL1.bit.CTRST3 = 1;
ECap1Regs.ECCTL1.bit.CTRST4 = 1;
ECap1Regs.ECCTL1.bit.CAPLDEN = 1;
ECap1Regs.ECCTL1.bit.prescale = 0;

ECap1Regs.ECCTL2.bit.CAP_APWM = 0;
ECap1Regs.ECCTL2.bit.CONT_ONESHT = 0;
ECap1Regs.ECCTL2.bit.SYNCO_SEL = 2;
ECap1Regs.ECCTL2.bit.SYNCI_EN = 0;
ECap1Regs.ECCTL2.bit.TSCTRSTOP = 1;//允许 TSCTR 运行


中断空 eCAP1_ISR(){
//运行时间(例如 CEVT1触发的 ISR 调用)
//========================================================================
//注意:此处的时间戳直接表示占空比值。
DutyOnTime1 = ECap1Regs.CAP2;//在 T2捕获蚀刻时间戳
DutyOffTime1 = ECap1Regs.CAP3;//在 T3捕获蚀刻时间戳
DutyOnTime2 = ECap1Regs.CAP4;//在 T4捕获蚀刻时间戳
DutyOffTime2 = ECap1Regs.CAP1;//在 T1捕捉获取时间戳
PERIOD1 = DutyOnTime1 + DutyOffTime1;
Period2 = DutyOnTime2 + DutyOffTime2;

ECap1Regs.ECCLR.bit.CEVT4 = 1;
ECap1Regs.ECCLR.bit.INT = 1;
ECap1Regs.ECCTL2.bit.rearm = 1;

//
//确认此中断以接收来自组4的更多中断
//
PieCtrlRegs.PIEACX.ALL = PIEACK_group4;

谢谢、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Yedida、

    您可以在以下实验课程中找到使用 eCAP1测量 ePWM1A 的周期和占空比的确切示例:

    processors.wiki.ti.com/.../C2000_Archived_Workshops

    请参阅实验7 (第二部分)。

    但愿这对您有所帮助。 如果您的问题得到了解答、请单击绿色的"验证答案"按钮。 谢谢。

    - Ken
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ken Schachter:

    上述示例帮助我解决了我的问题。

    谢谢、