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.

[参考译文] CCS/TMS320F28379D:PHASE_SHIFT_IN_UP_MODE

Guru**** 2561550 points
Other Parts Discussed in Thread: CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/637248/ccs-tms320f28379d-phase_shift_in_up_mode

器件型号:TMS320F28379D
Thread 中讨论的其他器件:controlSUITE

工具/软件:Code Composer Studio

我希望通过使用 UP_MODE 获得这样的相移

我使用 UPDOWEN_MODE 获得了这个、但在向上计数模式下、我得到的结果是相反的。  

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

    您好!

    您是如何在向上计数模式的代码中引入相移的?

    此致、
    Gautam

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

    空 InitEPwm1Examples()

    //启用 INT 设置
    EPwm1Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; //选择“零时 INT”事件
    EPwm1Regs.ETSEL.bit.INTEN = 1; //启用 INT
    EPwm1Regs.ETPS.bit.INTPRD = et_1st; //在发生第三个事件时生成 INT
    ////设置计数器模式//
    EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;//递增和递减计数
    EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;//禁用相位加载
    EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO;
    //时钟设置
    ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV =0;
    ClkCfgRegs.PERCLKDIVSEL.bit.EPWMCLKDIV=0;
    EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; //时钟与 SYSCLKOUT 的比率
    EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;
    ////设置重影//
    EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_IMMETERM;
    EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_IMMETERM;
    //设置比较 A 值
    EPwm1Regs.AQCTLA.bit.PRD = AQ_SET;//在事件 A 上设置 PWM1A、向上
    EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR;//在事件 B 上清除 PWM1A,向下
    EPwm1Regs.AQCTLB.bit.CBU = AQ_SET;//在事件 A 上设置 PWM1B、向上
    EPwm1Regs.AQCTLB.bit.PRD = AQ_CLEAR;//在事件 B 上清除 PWM1B,向下
    //PWM 设置
    EPwm1Regs.TBPRD = PWM_PRD;//设置计时器周期801 TBCLK
    EPwm1Regs.TBPHS.bit.TBPHS = 0;//相位为0
    EPwm1Regs.TBCTR = 0;

    空 InitEPwm3Examples()

    ////中断,我们将在其中更改比较值//
    EPwm3Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO; //选择“零时 INT”事件
    //EPwm3Regs.ETSEL.bit.INTEN = 1; //启用 INT
    //EPwm3Regs.ETPS.bit.INTPRD = et_1st; //在发生第三个事件时生成 INT
    ////设置计数器模式//
    EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;//递增和递减计数
    EPwm3Regs.TBCTL.bit.PHSEN = TB_ENABLE;//禁用相位加载
    EPwm3Regs.TBCTL.bit.PRDLD = TB_SHADOW;
    EPwm3Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;
    ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV =0;
    ClkCfgRegs.PERCLKDIVSEL.bit.EPWMCLKDIV=0;
    EPwm3Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; //时钟与 SYSCLKOUT 的比率
    EPwm3Regs.TBCTL.bit.CLKDIV = TB_DIV1;
    ////设置重影//
    EPwm3Regs.CMPCTL.bit.SHDWAMODE = CC_IMMETERM;
    EPwm3Regs.CMPCTL.bit.SHDWBMODE = CC_IMMETERM;
    ////设置操作//
    EPwm3Regs.AQCTLA.bit.CAU = AQ_CLEAR;//在事件 A 上设置 PWM1A,向上//计数
    EPwm3Regs.AQCTLA.bit.ZRO = AQ_SET;//在事件 A 上清除 PWM1A,//倒计数
    EPwm3Regs.AQCTLB.bit.CBU = AQ_SET;//在事件 B 上设置 PWM1B,向上//计数
    EPwm3Regs.AQCTLB.bit.ZRO = AQ_CLEAR;//在事件 B 上清除 PWM1B,//倒计数
    EPwm3Regs.TBPRD = PWM_PRD;//设置计时器周期801 TBCLK
    EPwm3Regs.TBPHS.bit.TBPHS = Phi1;//相位为0
    EPwm3Regs.TBCTR = 0;


    这是我的 ISR
    _interrupt void epwm1_ISR (void)

    GpioDataRegs.GPBDAT.bit.GPIO52=1;
    a=sin (pi*0.02*i);

    如果(A>=0)


    EPwm1Regs.CMPA.bit.CMPA =b[i];
    EPwm1Regs.CMPB.bit.CMPB =b[i];
    EPwm2Regs.CMPA.bit.CMPA =b[i];
    EPwm2Regs.CMPB.bit.CMPB =b[i];
    EPwm3Regs.CMPA.bit.CMPA =b[i];
    EPwm3Regs.CMPB.bit.CMPB =b[i];
    EPwm4Regs.CMPA.bit.CMPA =b[i];
    EPwm4Regs.CMPB.bit.CMPB =b[i];
    EPwm5Regs.CMPA.bit.CMPA =b[i];
    EPwm5Regs.CMPB.bit.CMPB =b[i];
    EPwm6Regs.CMPA.bit.CMPA =b[i];
    EPwm6Regs.CMPB.bit.CMPB =b[i];


    其他

    EPwm1Regs.CMPA.bit.CMPA =b[i];
    EPwm1Regs.CMPB.bit.CMPB =b[i];
    EPwm2Regs.CMPA.bit.CMPA =b[i];
    EPwm2Regs.CMPB.bit.CMPB =b[i];
    EPwm3Regs.CMPA.bit.CMPA =b[i];
    EPwm3Regs.CMPB.bit.CMPB =b[i];
    EPwm4Regs.CMPA.bit.CMPA =b[i];
    EPwm4Regs.CMPB.bit.CMPB =b[i];
    EPwm5Regs.CMPA.bit.CMPA =b[i];
    EPwm5Regs.CMPB.bit.CMPB =b[i];
    EPwm6Regs.CMPA.bit.CMPA =b[i];
    EPwm6Regs.CMPB.bit.CMPB =b[i];


    GpioDataRegs.GPBDAT.bit.GPIO52=0;
    i++;

    如果(i=101)


    I=0;


    EPwm1Regs.ETCLR.bit.INT = 1;
    PieCtrlRegs.PIEACX.ALL = PIEACK_Group3;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Gautam
    谢谢你
    我得到了这个…
    TBPHS = TBCTR -相位值
    例如:45度时 TBPHS = 10000 - 1250
    但现在我必须包含跳闸区域
    我如何做到这一点...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很好。 您可以在 controlSUITE 中找到跳闸区域示例。 您只需添加相关寄存器并使用所需代码填充跳闸区域 ISR 即可。

    C:\ti\controlSUITE\device_support\F2837xD\V210\F2837xD_Examples_CPU1\EPWM_TRIP_ZONE

    此致、
    Gautam
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Gautam
    是的、我也在这样做
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是我得到的错误:说明资源路径位置类型
    链接期间遇到错误;链接期间遇到"ECAP_CAPTURE_PWM_cpu01.out"错误;"ECAP_CAPTURE_PWM_cpu01.out"ECAP_CAPTURE_PWM_cpu01C/C++问题

    这意味着我必须链接任何文件?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如何使用这两条指令?
    InitEPwmGpio_TZ ();
    InitTzGpio();//TZ1 = GPIO12、TZ2 = GPIO13
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    正如我看到的、您已经处理了 TZ 示例代码、现在您正在尝试合并该代码吗?

    [引用 user="kudithi nageswararao"]如何使用这两条指令?

    这话什么意思? 您必须初始化 TZ GPIO 以激活中断并添加 TZ ISR。

    此致、

    Gautam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是 Gautam
    但是,当我使用此初始化时,我会收到此错误:
    说明资源路径位置类型
    链接期间遇到错误;链接期间遇到"ECAP_CAPTURE_PWM_cpu01.out"错误;"ECAP_CAPTURE_PWM_cpu01.out" ECAP_CAPTURE_PWM_cpu01C/C++问题
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的 EPWM.C 文件如下所示:
    //######################################################################################################################
    //
    //文件:F2837xD_ePWM.c
    //
    //标题:F2837xD ePWM 初始化和支持函数。
    //
    //######################################################################################################################
    //$TI 发行版:F2837xD 支持库 v3.02.00.00 $
    //$Release Date:SAT 9月16日15:29:00 CDT 2017 $
    //版权所有:
    //版权所有(C) 2013-2017 Texas Instruments Incorporated - http://www.ti.com/
    //
    //以源代码和二进制形式重新分发和使用,有无
    //如果满足以下条件,则允许进行修改
    //满足:
    //
    //重新分发源代码必须保留上述版权
    //注意、此条件列表和以下免责声明。
    //
    //二进制形式的重新分发必须复制上述版权
    //注意、中的条件列表和以下免责声明
    //随提供的文档和/或其他材料
    //分布。
    //
    //德州仪器公司的名称和的名称都不是
    //其贡献者可用于认可或推广衍生产品
    //未经特定的事先书面许可,从该软件下载。
    //
    //本软件由版权所有者和作者提供
    //“原样”以及任何明示或暗示的保证,包括但不包括
    //限于对适销性和适用性的暗示保证
    //一个特定的目的是免责的。 在任何情况下、版权均不得
    //所有者或贡献者应对任何直接、间接、偶然、
    //特殊、典型或必然的损害(包括但不包括)
    //仅限于采购替代货物或服务;
    //数据或利润;或业务中断)
    //责任理论,无论是合同责任、严格责任还是侵权行为
    //(包括疏忽或其他)以任何方式因使用而产生
    //此软件,即使已被告知可能会发生此类损坏。
    //$
    //######################################################################################################################

    //
    //包含的文件
    //
    #include "F2837xD_DEVICE.h"
    #include "F2837xD_examples.h"

    //
    // InitEPwmGpio -初始化所有 ePWM 模块的 GPIO
    //
    空 InitEPwmGpio (空)

    InitEPwm1Gpio();
    InitEPwm2Gpio();
    InitEPwm3Gpio();
    InitEPwm4Gpio();
    InitEPwm5Gpio();
    InitEPwm6Gpio();
    InitEPwm7Gpio();
    InitEPwm8Gpio();
    InitEPwm9Gpio();
    InitEPwm10Gpio();
    InitEPwm11Gpio();
    InitEPwm12Gpio();


    //
    // InitEPwm1Gpio -初始化 EPWM1 GPIO
    //
    空 InitEPwm1Gpio (空)

    EALLOW;

    //
    //禁用所选输出引脚的内部上拉
    //以降低功耗
    //用户可以启用或禁用上拉。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPAPUD.bit.GPIO0 = 1;//禁用 GPIO0上的上拉电阻(EPWM1A)
    GpioCtrlRegs.GPAPUD.bit.GPIO1 = 1;//禁用 GPIO1上的上拉电阻(EPWM1B)
    // GpioCtrlRegs.GPEPUD.bit.GPIO145 = 1;//禁用 GPIO145上的上拉电阻(EPWM1A)
    // GpioCtrlRegs.GPEPUD.bit.GPIO146 = 1;//禁用 GPIO146上的上拉电阻(EPWM1B)

    //
    //使用 GPIO 寄存器配置 EPW-1引脚
    //这指定哪个可能的 GPIO 引脚将是 EPWM1功能
    //引脚。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 1;//将 GPIO0配置为 EPWM1A
    GpioCtrlRegs.GPAMUX1.bit.GPIO1=1;//将 GPIO1配置为 EPWM1B
    // GpioCtrlRegs.GPEMUX2.bit.GPIO145 = 1;//将 GPIO145配置为 EPWM1A
    // GpioCtrlRegs.GPEMUX2.bit.GPIO146 = 1;//将 GPIO0146配置为 EPWM1B

    EDIS;


    //
    // InitEPwm2Gpio -初始化 EPWM2 GPIO
    //
    空 InitEPwm2Gpio (空)

    EALLOW;

    //
    //禁用所选输出引脚的内部上拉
    //以降低功耗
    //用户可以启用或禁用上拉。
    //这将启用指定引脚的上拉电阻。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPAPUD.bit.GPIO2 = 1;//禁用 GPIO2上的上拉电阻(EPWM2A)
    GpioCtrlRegs.GPAPUD.bit.GPIO3 = 1;//禁用 GPIO3上的上拉电阻(EPWM2B)
    // GpioCtrlRegs.GPEPUD.bit.GPIO147 = 1;//禁用 GPIO147上的上拉电阻(EPWM2A)
    // GpioCtrlRegs.GPEPUD.bit.GPIO148 = 1;//禁用 GPIO148上的上拉电阻(EPWM2B)

    //
    //使用 GPIO 寄存器配置 EPWM-2引脚
    //这指定哪些可能的 GPIO 引脚将是 EPWM2功能引脚。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPAMUX1.bit.GPIO2 = 1;//将 GPIO2配置为 EPWM2A
    GpioCtrlRegs.GPAMUX1.bit.GPIO3=1;//将 GPIO3配置为 EPWM2B
    // GpioCtrlRegs.GPEMUX2.bit.GPIO147 = 1;//将 GPIO147配置为 EPWM2A
    // GpioCtrlRegs.GPEMUX2.bit.GPIO148 = 1;//将 GPIO148配置为 EPWM2B

    EDIS;


    //
    // InitEPwm3Gpio -初始化 EPWM3 GPIO
    //
    空 InitEPwm3Gpio (空)

    EALLOW;

    //
    //禁用所选输出引脚的内部上拉
    //以降低功耗
    //用户可以启用或禁用上拉。
    //这将启用指定引脚的上拉电阻。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPAPUD.bit.GPIO4 = 1;//禁用 GPIO4上的上拉电阻(EPWM3A)
    GpioCtrlRegs.GPAPUD.bit.GPIO5=1;//禁用 GPIO5上的上拉电阻(EPWM3B)
    // GpioCtrlRegs.GPEPUD.bit.GPIO149 = 1;//禁用 GPIO149 (EPWM3A)上的上拉电阻
    // GpioCtrlRegs.GPEPUD.bit.GPIO150 = 1;//禁用 GPIO150 (EPWM3B)上的上拉电阻

    //
    //使用 GPIO 寄存器配置 EPWM-3引脚
    //这指定哪些可能的 GPIO 引脚将是 EPWM3功能引脚。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPAMUX1.bit.GPIO4=1;//将 GPIO4配置为 EPWM3A
    GpioCtrlRegs.GPAMUX1.bit.GPIO5=1;//将 GPIO5配置为 EPWM3B
    // GpioCtrlRegs.GPEMUX2.bit.GPIO149 = 1;//将 GPIO149配置为 EPWM3A
    // GpioCtrlRegs.GPEMUX2.bit.GPIO150 = 1;//将 GPIO150配置为 EPWM3B

    EDIS;


    //
    // InitEPwm4Gpio -初始化 EPWM4 GPIO
    //
    空 InitEPwm4Gpio (空)

    EALLOW;

    //
    //禁用所选输出引脚的内部上拉
    //以降低功耗
    //用户可以启用或禁用上拉。
    //这将启用指定引脚的上拉电阻。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPAPUD.bit.GPIO6 = 1;//禁用 GPIO6上的上拉电阻(EPWM4A)
    GpioCtrlRegs.GPAPUD.bit.GPIO7 = 1;//禁用 GPIO7 (EPWM4B)上的上拉电阻
    // GpioCtrlRegs.GPEPUD.bit.GPIO151 = 1;//禁用 GPIO151上的上拉电阻(EPWM4A)
    // GpioCtrlRegs.GPEPUD.bit.GPIO152 = 1;//禁用 GPIO152 (EPWM4B)上的上拉电阻

    //
    //使用 GPIO 寄存器配置 EPWM-4引脚
    //这指定哪个可能的 GPIO 引脚将是 EPWM4功能
    //引脚。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPAMUX1.bit.GPIO6=1;//将 GPIO6配置为 EPWM4A
    GpioCtrlRegs.GPAMUX1.bit.GPIO7=1;//将 GPIO7配置为 EPWM4B
    // GpioCtrlRegs.GPEMUX2.bit.GPIO151 = 1;//将 GPIO151配置为 EPWM4A
    // GpioCtrlRegs.GPEMUX2.bit.GPIO152 = 1;//将 GPIO152配置为 EPWM4B

    EDIS;


    //
    // InitEPwm5Gpio -初始化 EPWM5 GPIO
    //
    空 InitEPwm5Gpio (空)

    EALLOW;
    //
    //禁用所选输出引脚的内部上拉
    //以降低功耗
    //用户可以启用或禁用上拉。
    //这将启用指定引脚的上拉电阻。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPAPUD.bit.GPIO8 = 1;//禁用 GPIO8上的上拉电阻(EPWM5A)
    GpioCtrlRegs.GPAPUD.bit.GPIO9=1;//禁用 GPIO9上的上拉电阻(EPWM5B)
    // GpioCtrlRegs.GPEPUD.bit.GPIO153 = 1;//禁用 GPIO153上的上拉电阻(EPWM5A)
    // GpioCtrlRegs.GPEPUD.bit.GPIO154 = 1;//禁用 GPIO154 (EPWM5B)上的上拉电阻

    //
    //使用 GPIO 寄存器配置 EPWM-5引脚
    //这指定哪个可能的 GPIO 引脚将是 EPWM5功能
    //引脚。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPAMUX1.bit.GPIO8=1;//将 GPIO8配置为 EPWM5A
    GpioCtrlRegs.GPAMUX1.bit.GPIO9=1;//将 GPIO9配置为 EPWM5B
    // GpioCtrlRegs.GPEMUX2.bit.GPIO153 = 1;//将 GPIO153配置为 EPWM5A
    // GpioCtrlRegs.GPEMUX2.bit.GPIO154 = 1;//将 GPIO0154配置为 EPWM5B

    EDIS;


    //
    // InitEPwm6Gpio -初始化 EPWM6 GPIO
    //
    空 InitEPwm6Gpio (空)

    EALLOW;
    //
    //禁用所选输出引脚的内部上拉
    //以降低功耗
    //用户可以启用或禁用上拉。
    //这将启用指定引脚的上拉电阻。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPAPUD.bit.GPIO10 = 1;//禁用 GPIO10上的上拉电阻(EPWM6A)
    GpioCtrlRegs.GPAPUD.bit.GPIO11 = 1;//禁用 GPIO11上的上拉电阻(EPWM6B)
    // GpioCtrlRegs.GPEPUD.bit.GPIO155 = 1;//禁用 GPIO155上的上拉电阻(EPWM6A)
    // GpioCtrlRegs.GPEPUD.bit.GPIO156 = 1;//禁用 GPIO156上的上拉电阻(EPWM6B)

    //
    //使用 GPIO 寄存器配置 EPWM-6引脚
    //这指定哪个可能的 GPIO 引脚将是 EPWM6功能
    //引脚。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPAMUX1.bit.GPIO10=1;//将 GPIO10配置为 EPWM6A
    GpioCtrlRegs.GPAMUX1.bit.GPIO11=1;//将 GPIO11配置为 EPWM6B
    // GpioCtrlRegs.GPEMUX2.bit.GPIO155 = 1;//将 GPIO155配置为 EPWM6A
    // GpioCtrlRegs.GPEMUX2.bit.GPIO156 = 1;//将 GPIO156配置为 EPWM6B

    EDIS;


    //
    // InitEPwm7Gpio -初始化 EPWM7 GPIO
    //
    空 InitEPwm7Gpio (空)

    EALLOW;

    //
    //禁用所选输出引脚的内部上拉
    //以降低功耗
    //用户可以启用或禁用上拉。
    //这将启用指定引脚的上拉电阻。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPAPUD.bit.GPIO12 = 1;//禁用 GPIO12上的上拉电阻(EPWM7A)
    GpioCtrlRegs.GPAPUD.bit.GPIO13 = 1;//禁用 GPIO13上的上拉电阻(EPWM7B)
    // GpioCtrlRegs.GPEPUD.bit.GPIO157 = 1;//禁用 GPIO157上的上拉电阻(EPWM7A)
    // GpioCtrlRegs.GPEPUD.bit.GPIO158 = 1;//禁用 GPIO158 (EPWM7B)上的上拉电阻

    //
    //使用 GPIO 寄存器配置 EPWM-6引脚
    //这指定哪个可能的 GPIO 引脚将是 EPWM6功能
    //引脚。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPAMUX1.bit.GPIO12=1;//将 GPIO12配置为 EPWM7A
    GpioCtrlRegs.GPAMUX1.bit.GPIO13=1;//将 GPIO13配置为 EPWM7B
    // GpioCtrlRegs.GPEMUX2.bit.GPIO157 = 1;//将 GPIO157配置为 EPWM7A
    // GpioCtrlRegs.GPEMUX2.bit.GPIO158 = 1;//将 GPIO158配置为 EPWM7B

    EDIS;


    //
    // InitEPwm8Gpio -初始化 EPWM8 GPIO
    //
    空 InitEPwm8Gpio (空)

    EALLOW;
    //
    //禁用所选输出引脚的内部上拉
    //以降低功耗
    //用户可以启用或禁用上拉。
    //这将启用指定引脚的上拉电阻。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPAPUD.bit.GPIO14 = 1;//禁用 GPIO14上的上拉电阻(EPWM8A)
    GpioCtrlRegs.GPAPUD.bit.GPIO15 = 1;//禁用 GPIO15上的上拉电阻(EPWM8B)
    // GpioCtrlRegs.GPEPUD.bit.GPIO159 = 1;//禁用 GPIO159上的上拉电阻(EPWM8A)
    // GpioCtrlRegs.GPFPUD.bit.GPIO160 = 1;//禁用 GPIO160 (EPWM8B)上的上拉电阻

    //
    //使用 GPIO 寄存器配置 EPWM-6引脚
    //这指定哪个可能的 GPIO 引脚将是 EPWM6功能
    //引脚。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPAMUX1.bit.GPIO14 = 1;//将 GPIO14配置为 EPWM8A
    GpioCtrlRegs.GPAMUX1.bit.GPIO15=1;//将 GPIO15配置为 EPWM8B
    // GpioCtrlRegs.GPEMUX2.bit.GPIO159 = 1;//将 GPIO159配置为 EPWM8A
    // GpioCtrlRegs.GPFMUX1.bit.GPIO160=1;//将 GPIO160配置为 EPWM8B

    EDIS;


    //
    // InitEPwm9Gpio -初始化 EPWM9 GPIO
    //
    空 InitEPwm9Gpio (空)

    EALLOW;
    //
    //禁用所选输出引脚的内部上拉
    //以降低功耗
    //用户可以启用或禁用上拉。
    //这将启用指定引脚的上拉电阻。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPFPUD.bit.GPIO161 = 1;//禁用 GPIO161上的上拉电阻(EPWM9A)
    GpioCtrlRegs.GPFPUD.bit.GPIO162 = 1;//禁用 GPIO162上的上拉电阻(EPWM9B)

    //
    //使用 GPIO 寄存器配置 EPWM-6引脚
    //这指定哪个可能的 GPIO 引脚将是 EPWM6功能
    //引脚。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPFMUX1.bit.GPIO161 = 1;//将 GPIO161配置为 EPWM9A
    GpioCtrlRegs.GPFMUX1.bit.GPIO162 = 1;//将 GPIO162配置为 EPWM9B

    EDIS;


    //
    // InitEPwm10Gpio -初始化 EPWM10 GPIO
    //
    空 InitEPwm10Gpio (空)

    EALLOW;
    //
    //禁用所选输出引脚的内部上拉
    //以降低功耗
    //用户可以启用或禁用上拉。
    //这将启用指定引脚的上拉电阻。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPFPUD.bit.GPIO163 = 1;//禁用 GPIO163上的上拉电阻(EPWM10A)
    GpioCtrlRegs.GPFPUD.bit.GPIO164 = 1;//禁用 GPIO164 (EPWM10B)上的上拉电阻

    //
    //使用 GPIO 寄存器配置 EPWM-6引脚
    //这指定哪个可能的 GPIO 引脚将是 EPWM6功能
    //引脚。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPFMUX1.bit.GPIO163 = 1;//将 GPIO163配置为 EPWM10A
    GpioCtrlRegs.GPFMUX1.bit.GPIO164 = 1;//将 GPIO164配置为 EPWM10B

    EDIS;


    //
    // InitEPwm11Gpio -初始化 EPWM11 GPIO
    //
    空 InitEPwm11Gpio (空)

    EALLOW;
    //
    //禁用所选输出引脚的内部上拉
    //以降低功耗
    //用户可以启用或禁用上拉。
    //这将启用指定引脚的上拉电阻。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPFPUD.bit.GPIO165 = 1;//禁用 GPIO165上的上拉电阻(EPWM11A)
    GpioCtrlRegs.GPFPUD.bit.GPIO166 = 1;//禁用 GPIO166上的上拉电阻(EPWM11B)

    //
    //使用 GPIO 寄存器配置 EPWM-6引脚
    //这指定哪个可能的 GPIO 引脚将是 EPWM6功能
    //引脚。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPFMUX1.bit.GPIO165 = 1;//将 GPIO165配置为 EPWM11A
    GpioCtrlRegs.GPFMUX1.bit.GPIO166 = 1;//将 GPIO166配置为 EPWM11B

    EDIS;


    //
    // InitEPwm12Gpio -初始化 EPWM12 GPIO
    //
    空 InitEPwm12Gpio (空)

    EALLOW;
    //
    //禁用所选输出引脚的内部上拉
    //以降低功耗
    //用户可以启用或禁用上拉。
    //这将启用指定引脚的上拉电阻。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPFPUD.bit.GPIO167 = 1;//禁用 GPIO167上的上拉电阻(EPWM12A)
    GpioCtrlRegs.GPFPUD.bit.GPIO168 = 1;//禁用 GPIO168 (EPWM12B)上的上拉电阻

    //
    //使用 GPIO 寄存器配置 EPWM-6引脚
    //这指定哪个可能的 GPIO 引脚将是 EPWM6功能
    //引脚。
    //注释掉其他不需要的行。
    //
    GpioCtrlRegs.GPFMUX1.bit.GPIO167 = 1;//将 GPIO167配置为 EPWM12A
    GpioCtrlRegs.GPFMUX1.bit.GPIO168=1;//将 GPIO168配置为 EPWM12B

    EDIS;

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

    现在、我要在该 TZ_SETTINGS 中包含该内容、
    但当我使用开始初始化 TZ 时
    InitGpio();

    EALLOW;
    InitEPwm1Gpio();InitEPwm2Gpio();InitEPwm3Gpio();InitEPwm4Gpio();InitEPwm5Gpio();InitEPwm6Gpio();
    InitTzGpio();//TZ1 = GPIO12、TZ2 = GPIO13
    GpioCtrlRegs.GPBDIR.bit.GPIO52=1;
    EDIS;

    由于发生错误、因此我欺骗了 ePWM.C 文件、此应用不包含 TZ 初始化(F2837XD_examples)

    我在程序中进行了初始化、如下所示:void InitTzGpio (void);

    但它不支持...

    如何在工程中修改 ePWM.C 文件