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:具有 InitTzGpio 和 InitEPwmSyncGpio 的 ePWM.c 文件

Guru**** 2562120 points
Other Parts Discussed in Thread: TMS320F28379D, CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/638171/ccs-tms320f28379d-epwm-c-file-with-inittzgpio-and-initepwmsyncgpio

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

工具/软件:Code Composer Studio

你好

我观察到 ePWM.c 代码、    对于其他代码、使用 void InitTzGpio (void)和 void InitEPwmSyncGpio (void)  

但不是 TMS320F28379D:在 controlSUITE 中可以实现以下目标:

InitEPwmSyncGpio ()

 

//  EALLOW;

 

/*配置 EPWMSYNCI */

 

/*为所选引脚启用内部上拉*/

//用户可以启用或禁用上拉。

//这将启用指定引脚的上拉电阻。

//注释掉其他不需要的行。

 

// GpioCtrlRegs.GPAPUD.bit.GPIO6 = 0;    //启用 GPIO6上的上拉电阻(EPWMSYNCI)

  GpioCtrlRegs.GPBPUD.bit.GPIO32 = 0;   //启用 GPIO32上的上拉电阻(EPWMSYNCI)

 

/*将所选引脚的限定条件设置为仅异步*/

//这将为所选引脚选择与 SYSCLKOUT 同步。

//注释掉其他不需要的行。

 

// GpioCtrlRegs.GPAQSEL1.bit.GPIO6 = 0;  //同步到 SYSCLKOUT GPIO6 (EPWMSYNCI)

  GpioCtrlRegs.GPBQSEL1.bit.GPIO32 = 0; //同步到 SYSCLKOUT GPIO32 (EPWMSYNCI)

 

/*使用 GPIO 寄存器配置 EPwmSync 引脚*/

//这指定哪些可能的 GPIO 引脚将是 EPwmSync 功能引脚。

//注释掉其他不需要的行。

 

// GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 2;   //为 EPWMSYNCI 操作配置 GPIO6

  GpioCtrlRegs.GPBMUX1.bit.GPIO32 = 2;  //为 EPWMSYNCI 操作配置 GPIO32。

 

/*配置 EPWMSYNC0 */

 

/*禁用所选输出引脚的内部上拉电阻

  以降低功耗*/

//用户可以启用或禁用上拉。

//注释掉其他不需要的行。

 

// GpioCtrlRegs.GPAPUD.bit.GPIO6 = 1;   //禁用 GPIO6上的上拉电阻(EPWMSYNCO)

  GpioCtrlRegs.GPBPUD.bit.GPIO33 = 1;  //禁用 GPIO33 (EPWMSYNCO)上的上拉电阻

 

// GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 3;  //为 EPWMSYNCO 配置 GPIO6

  GpioCtrlRegs.GPBMUX1.bit.GPIO33 = 2; //为 EPWMSYNCO 配置 GPIO33

 

 

///-------------------------------------------------------

//示例:InitTzGpio:

///-------------------------------------------------------

//此函数初始化 GPIO 引脚以用作触发区(TZ)引脚

//

//每个 GPIO 引脚可配置为 GPIO 引脚或最多3个不同的引脚

//外设功能引脚。 默认情况下、所有引脚都作为 GPIO 出现

复位后的//输入。

//

 

InitTzGpio ()

  EALLOW;

 

/*为所选引脚启用内部上拉*/

//用户可以启用或禁用上拉。

//这将启用指定引脚的上拉电阻。

//注释掉其他不需要的行。

//    GpioCtrlRegs.GPAPUD.bit.GPIO12 = 0;   //启用 GPIO12上的上拉(TZ1)

// GpioCtrlRegs.GPBPUD.bit.GPIO42 = 0; //启用 GPIO42上的上拉(TZ1)

  GpioCtrlRegs.GPBPUD.bit.GPIO50 = 0; //启用 GPIO50上的上拉电阻(TZ1)

  GpioCtrlRegs.GPAPUD.bit.GPIO13 = 0;   //启用 GPIO13上的上拉电阻(TZ2)

// GpioCtrlRegs.GPAPUD.bit.GPIO16 = 0;   //启用 GPIO16上的上拉电阻(TZ2)

// GpioCtrlRegs.GPAPUD.bit.GPIO28 = 0;   //启用 GPIO28上的上拉电阻(TZ2)

// GpioCtrlRegs.GPBPUD.bit.GPIO43 = 0; //启用 GPIO43上的上拉电阻(TZ2)

// GpioCtrlRegs.GPBPUD.bit.GPIO51 = 0;   //启用 GPIO51上的上拉电阻(TZ2)

// GpioCtrlRegs.GPAPUD.bit.GPIO14 = 0;   //启用 GPIO14上的上拉电阻(TZ3)

// GpioCtrlRegs.GPAPUD.bit.GPIO17 = 0;   //启用 GPIO17上的上拉(TZ3)

// GpioCtrlRegs.GPAPUD.bit.GPIO29 = 0;   //启用 GPIO29上的上拉电阻(TZ3)

 GpioCtrlRegs.GPBPUD.bit.GPIO52 = 0;   //启用 GPIO52 (TZ3)上的上拉

 

/*将所选引脚的限定条件设置为仅异步*/

默认情况下、//输入与 SYSCLKOUT 同步。

//这将为所选引脚选择异步(无限定条件)。

//注释掉其他不需要的行。

 

//  GpioCtrlRegs.GPAQSEL1.bit.GPIO12 = 3; //异步输入 GPIO12 (TZ1)

// GpioCtrlRegs.GPBQSEL1.bit.GPIO42 = 3; //异步输入 GPIO42 (TZ1)

       GpioCtrlRegs.GPBQSEL2.bit.GPIO50 = 3; //异步输入 GPIO50 (TZ1)

  GpioCtrlRegs.GPAQSEL1.bit.GPIO13 = 3; //异步输入 GPIO13 (TZ2)

// GpioCtrlRegs.GPAQSEL2.bit.GPIO16 = 3; //异步输入 GPIO16 (TZ2)

// GpioCtrlRegs.GPAQSEL2.bit.GPIO28 = 3; //异步输入 GPIO28 (TZ2)

// GpioCtrlRegs.GPBQSEL1.bit.GPIO43 = 3; //异步输入 GPIO43 (TZ2)

// GpioCtrlRegs.GPBQAEL2.bit.GPIO51 = 3; //异步输入 GPIO51 (TZ2)

//  GpioCtrlRegs.GPAQSEL1.bit.GPIO14 = 3; //异步输入 GPIO14 (TZ3)

// GpioCtrlRegs.GPAQSEL2.bit.GPIO17 = 3; //异步输入 GPIO17 (TZ3)

// GpioCtrlRegs.GPAQSEL2.bit.GPIO29 = 3; //异步输入 GPIO29 (TZ3)

 GpioCtrlRegs.GPBQSEL2.bit.GPIO52 = 3; //异步输入 GPIO52 (TZ3)

 

 

/*使用 GPIO 寄存器配置 TZ 引脚*/

//这指定哪些可能的 GPIO 引脚将是 TZ 功能引脚。

//注释掉其他不需要的行。

//  GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 1; //将 GPIO12配置为 TZ1

// GpioCtrlRegs.GPBMUX1.bit.GPIO42 = 2; //将 GPIO42配置为 TZ1

 GpioCtrlRegs.GPBMUX2.bit.GPIO50 = 3; //将 GPIO50配置为 TZ1

  GpioCtrlRegs.GPAMUX1.bit.GPIO13=1; //将 GPIO13配置为 TZ2

// GpioCtrlRegs.GPAMUX2.bit.GPIO16=3; //将 GPIO16配置为 TZ2

// GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 3; //将 GPIO28配置为 TZ2

// GpioCtrlRegs.GPBMUX1.bit.GPIO43 = 2; //将 GPIO43配置为 TZ2

// GpioCtrlRegs.GPBMUX2.bit.GPIO51 = 3; //将 GPIO51配置为 TZ2

//  GpioCtrlRegs.GPAMUX1.bit.GPIO14 = 1; //将 GPIO14配置为 TZ3

// GpioCtrlRegs.GPAMUX2.bit.GPIO17 = 3; //将 GPIO17配置为 TZ3

// GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 3; //将 GPIO29配置为 TZ3

 GpioCtrlRegs.GPBMUX2.bit.GPIO52=3; //将 GPIO52配置为 TZ3

 

  EDIS;

 

 

//============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

//文件结束。

//============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

 在另一种情况下、我如何修改它...我想为此 GPIO59或124或125或24使用 TZ_GPIO ...

 

 

 

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

    器件型号:TMS320F28379D

    工具/软件:Code Composer Studio

    你好  

    我正努力以20Khz 生成 ePWM

    我必须使用 TRIP_ZONE 对其进行控制  

    我在 Cwere2000中找到了一些示例、我的程序中无法使用相同的方式  

    这是我的计划...

     

    #include "F28x_Project.h"

    #include "math.h"

    #include

    #include

    #define PWM_PRD 10000;

    #define Phi1 1500;              //(625) 45度相位

    #define Phi2 1500;              //(625) 45度相位

    #define PI 3.14159265358979323846

    uint32 EPwm1TZIntCount;

    uint32 EPwm2TZIntCount;

    void InitTzGpio (void);

    void InitEPwm1_2Example (void);

    _interrupt void epwm1_ISR (void);

    unsigned int i=0、m=0、k=0;

    unsigned int a=0;

    unsigned int b[101]={0};

    void main (void)

    {    InitSysCtrl()

       InitEPwmGpio_TZ ();

              InitTzGpio();

       对于(m=0;m<100;m++)

     {

     a=sin (pi*0.02*m);

     b[m]= 5000*A + 5000;                  //50%半正弦波周期。

     }

     B[100]=0;

       InitGpio()

         EALLOW;

         InitEPwm1Gpio()

         InitEPwm2Gpio()

                InitEPwm3Gpio()

                InitEPwm4Gpio()

                      InitEPwm5Gpio()

                      InitEPwm6Gpio()

                                        GpioCtrlRegs.GPBDIR.bit.GPIO52=1;

         EDIS;

         Dint;

       InitPieCtrl()

       IER = 0x0000;

       IFR = 0x0000;

       InitPieVectTable()

         EALLOW;

         PieVectTable.EPWM1_INT =&epwm1_ISR;

         InitEPwm1_2Examples();

         EDIS;

       IER |= M_INT3;

       PieCtrlRegs.PIEIER3.bit.INTx1 = 1;

       PieCtrlRegs.PIEIER3.bit.INTx2 = 1;

       PieCtrlRegs.PIEIER3.bit.INTx3=1;

       EINT;                              //启用全局中断 INTM

       ERTM;                              //为   (;)启用全局实时中断 DBGM

       {        ASM ("   NOP");   }

    _interrupt void epwm1_ISR (void)

          GpioDataRegs.GPBDAT.bit.GPIO52=1;

          if (EPwm1Regs.TZFlG.bit.OST = 0 && EPwm2Regs.TZFlG.bit.OST = 0)

          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;

    InitEPwm1_2Examples()

    {                   //启用 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;

                       //   //设置计数器模式 EPWM2  //

       EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;           //递增和递减计数

       EPwm2Regs.TBCTL.bit.PHSEN = TB_ENABLE;        //禁用相位加载

       EPwm2Regs.TBCTL.bit.PRDLD = TB_SHADOW;

       EPwm2Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;

         ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV =0;

         ClkCfgRegs.PERCLKDIVSEL.bit.EPWMCLKDIV=0;

         EPwm2Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;      //时钟与 SYSCLKOUT 的比率

         EPwm2Regs.TBCTL.bit.CLKDIV = TB_DIV1;

       //   //设置重影   //

       EPwm2Regs.CMPCTL.bit.SHDWAMODE = CC_IMMETERM;

       EPwm2Regs.CMPCTL.bit.SHDWBMODE = CC_IMMETERM;

          //   //设置操作   //

       EPwm2Regs.AQCTLA.bit.PRD = AQ_CLEAR;          //在事件 A 上设置 PWM1A、向上

       EPwm2Regs.AQCTLA.bit.CAU = AQ_SET;      //在事件 B 上清除 PWM1A、向下

       EPwm2Regs.AQCTLB.bit.PRD = AQ_SET;            //在事件 A 上设置 PWM1B、向上

       EPwm2Regs.AQCTLB.bit.CBU = AQ_CLEAR;           //在事件 B 上清除 PWM1B,向下

       EPwm2Regs.TBPRD = PWM_PRD;                    //设置计时器周期801 TBCLK

       EPwm2Regs.TBPHS.bit.TBPHS = 0;                 //相位为0

       EPwm2Regs.TBCTR = 0;

                       //   //设置计数器模式  EPWM3 //

       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.PRD = AQ_SET;            //在事件 A 上设置 PWM1A、向上

       EPwm3Regs.AQCTLA.bit.CAU = AQ_CLEAR;           //在事件 B 上清除 PWM1A,向下

       EPwm3Regs.AQCTLB.bit.PRD = AQ_CLEAR;          //在事件 A 上设置 PWM1B、向上

       EPwm3Regs.AQCTLB.bit.CBU = AQ_SET;      //在事件 B 上清除 PWM1B,向下

       EPwm3Regs.TBPRD = PWM_PRD;                     //设置计时器周期801 TBCLK

       EPwm3Regs.TBPHS.bit.TBPHS = 10000 - PHI1;            //相位为0

       EPwm3Regs.TBCTR = 0;

          //   //设置计数器模式 EPWM4//  

       EPwm4Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;           //递增和递减计数

       EPwm4Regs.TBCTL.bit.PHSEN = TB_ENABLE;              //禁用相位加载

       EPwm4Regs.TBCTL.bit.PRDLD = TB_SHADOW;

       EPwm4Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;

         ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV =0;

         ClkCfgRegs.PERCLKDIVSEL.bit.EPWMCLKDIV=0;

         EPwm4Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;      //时钟与 SYSCLKOUT 的比率

         EPwm4Regs.TBCTL.bit.CLKDIV = TB_DIV1;

       //   //设置重影   //

       EPwm4Regs.CMPCTL.bit.SHDWAMODE = CC_IMMETERM;

       EPwm4Regs.CMPCTL.bit.SHDWBMODE = CC_IMMETERM;

          //   //设置操作   //

       EPwm4Regs.AQCTLA.bit.PRD = AQ_CLEAR;            //在事件 A 上设置 PWM1A、向上

       EPwm4Regs.AQCTLA.bit.CAU = AQ_SET;      //在事件 B 上清除 PWM1A、向下

       EPwm4Regs.AQCTLB.bit.PRD = AQ_SET;            //在事件 A 上设置 PWM1B、向上

       EPwm4Regs.AQCTLB.bit.CBU = AQ_CLEAR;           //在事件 B 上清除 PWM1B,向下

       EPwm4Regs.TBPRD = PWM_PRD;                     //设置计时器周期801 TBCLK

       EPwm4Regs.TBPHS.bit.TBPHS = 10000-PHI1;       //相位为0

       EPwm4Regs.TBCTR = 0;

                       //   //设置计数器模式 EPWM5//

       EPwm5Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;           //递增和递减计数

       EPwm5Regs.TBCTL.bit.PHSEN = TB_ENABLE;               //禁用相位加载

       EPwm5Regs.TBCTL.bit.PRDLD = TB_SHADOW;

       EPwm5Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;

         ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV =0;

         ClkCfgRegs.PERCLKDIVSEL.bit.EPWMCLKDIV=0;

         EPwm5Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;      //时钟与 SYSCLKOUT 的比率

         EPwm5Regs.TBCTL.bit.CLKDIV = TB_DIV1;

       //   //设置重影   //

       EPwm5Regs.CMPCTL.bit.SHDWAMODE = CC_IMMETERM;

       EPwm5Regs.CMPCTL.bit.SHDWBMODE = CC_IMMETERM;

          //   //设置操作   //

       EPwm5Regs.AQCTLA.bit.PRD = AQ_SET;            //在事件 A 上设置 PWM1A、向上

       EPwm5Regs.AQCTLA.bit.CAU = AQ_CLEAR;           //在事件 B 上清除 PWM1A,向下

       EPwm5Regs.AQCTLB.bit.CBU = AQ_SET;            //在事件 A 上设置 PWM1B、向上

       EPwm5Regs.AQCTLB.bit.PRD = AQ_CLEAR;           //在事件 B 上清除 PWM1B,向下

       EPwm5Regs.TBPRD = PWM_PRD;                     //设置计时器周期801 TBCLK

       EPwm5Regs.TBPHS.bit.TBPHS = 10000 - Phi2;            //相位为0

       EPwm5Regs.TBCTR = 0;

                       //   //设置计数器模式 EPWM6//  

       EPwm6Regs.TBCTL.bit.CTRMODE =    TB_COUNT_UP;      //递增和递减计数

       EPwm6Regs.TBCTL.bit.PHSEN         =    TB_ENABLE; //禁用相位加载

       EPwm6Regs.TBCTL.bit.PRDLD         =    TB_SHADOW;

       EPwm6Regs.TBCTL.bit.SYNCOSEL      =    TB_SYNC_IN;

         ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV =0;

         ClkCfgRegs.PERCLKDIVSEL.bit.EPWMCLKDIV=0;

         EPwm6Regs.TBCTL.bit.HSPCLKDIV  =    TB_DIV1;   //时钟与 SYSCLKOUT 的比率

         EPwm6Regs.TBCTL.bit.CLKDIV            =    TB_DIV1;

       //   //设置重影   //

       EPwm6Regs.CMPCTL.bit.SHDWAMODE   =    CC_IMMETERM;

       EPwm6Regs.CMPCTL.bit.SHDWBMODE   =    CC_IMMETERM;

          //   //设置操作   //

       EPwm6Regs.AQCTLA.bit.PRD   =    AQ_CLEAR;   //在事件 A 上设置 PWM1A、向上

       EPwm6Regs.AQCTLA.bit.CAU   =    AQ_SET;    //清除事件 B 上的 PWM1A、向下   EPwm6Regs.AQCTLB.bit.PRD =    AQ_SET;     //在事件 A 上设置 PWM1B、向上

       EPwm6Regs.AQCTLB.bit.CBU   =    AQ_CLEAR;  //在事件 B 上清除 PWM1B,向下

       EPwm6Regs.TBPRD = PWM_PRD;                     //设置计时器周期801 TBCLK

       EPwm6Regs.TBPHS.bit.TBPHS = 10000 - Phi2;                   //相位为0

       EPwm6Regs.TBCTR = 0;

     

     

     这是 TZGPIO 初始化的问题。

     

     

     

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

    器件型号:TMS320F28379D

    工具/软件:Code Composer Studio

    你好

    如何倾斜 TZ_GPIO ..

    我将缓冲器电路连接到 GPIO24、GPIO124、125和59。

    如何将 TZ_SIGNAL 短接。

    与此类似:GpioDataRegs.GPATOGGLE.bit.GPIO12=1;

    //
    //对于外部触发器,GPIO12作为 TripZone 的触发器
    //
    GpioCtrlRegs.GPAPUD.bit.GPIO12 = 0;//启用 GPIO12上的上拉电阻(TZ1)

    GpioCtrlRegs.GPAQSEL1.bit.GPIO12 = 3;//异步输入 GPIO12 (TZ1)

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

    您好、Nageswara、

    我已回答了您在新发布的文章 中的最新问题:https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/638865/2356825#2356825

    让我们结束本主题、如果您认为合适、继续进行讨论。

    此致、
    Elizabeth