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.

[参考译文] TM4C129ENCPDT:TM4C129ENCPDT

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/809109/tm4c129encpdt-tm4c129encpdt

器件型号:TM4C129ENCPDT

我尝试在 PWM_OUT_4和5中生成 PWM 输出。  但它不起作用。  代码

  SysCtlPeripheralEnable (SYSCTL_Periph_PWM0);
   while (!SysCtlPeripheralReady (SYSCTL_Periph_PWM0))
   {
   }
   SysCtlPWMClockSet (SYSCTL_PWMDIV_1);
   SysCtlPeripheralEnable (SYSCTL_Periph_GPIOG);
   GPIOPinConfigure (GPIO_PG0_M0PWM4);
      GPIOPinConfigure (GPIO_PG1_M0PWM5);
      GPIOPinTypePWM (GPIO_PORTG_base、GPIO_PIN_0);
         GPIOPinTypePWM (GPIO_PORTG_base、GPIO_PIN_1);
         GPIOPadConfigSet (GPIO_PORTG_base、GPIO_PIN_0、GPIO_Strength _10mA、GPIO_PIN_TYPE_STD);
         GPIOPadConfigSet (GPIO_PORTG_base、GPIO_PIN_1、GPIO_Strength _10mA、GPIO_PIN_TYPE_STD);
        PWMGenConfigure (PWM0_BASE、PWM_GEN_2、PWM_GEN_MODE_UP_DOWN |
                            PWM_GEN_MODE_NO_SYNC);
         PWMGenPeriodSet (PWM0_BASE、PWM_OUT_4、2500);

         PWMPulseWidthSet (PWM0_BASE、PWM_OUT_4、1250);
         PWMDeadBandEnable (PWM0_BASE、PWM_GEN_2、160、160);
            PWMOutputState (PWM0_BASE、PWM_OUT_4_BIT | PWM_OUT_5_BIT、TRUE);
            //
            //启用 PWM 发生器模块的计数器。
            //
            PWMGenEnable (PWM0_BASE、PWM_GEN_2);
此代码有任何问题。  
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Ramesh、

    我发现了这个问题、我花了一点时间才弄清楚错误的地方、即使在看示例时也是如此。 只需调整一个小参数! )

    在您的代码中、您具有以下内容:

    PWMGenPeriodSet (PWM0_BASE、PWM_OUT_4、2500); 

    但 PWMGenPeriodSet API 不是基于 PWM 输出寄存器、而是基于 GEN 寄存器、因为发生器会影响两个 PWM 通道。 您需要的是:

    PWMGenPeriodSet (PWM0_BASE、PWM_GEN_2、2500); 

    那么它应该像您想要的那样工作。

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

    非常感谢 Ralph。  它发挥了作用。

    此致、

    Ramesh