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.

[参考译文] LP-MSPM0C1104:CAN't 使用 TIMG14输出4个 PWM 通道

Guru**** 2589300 points
Other Parts Discussed in Thread: MSPM0C1104, LP-MSPM0C1104

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1353631/lp-mspm0c1104-can-t-output-4-channels-of-pwm-by-using-timg14

器件型号:LP-MSPM0C1104

您好、专家:

   我使用 CCS Theia 1.3.1并将 TIMG14设置为 PWM 输出时钟、启用所有4个通道 、但只有 PA16/PA23正常、 PA24/PA25在示波器上无任何效果、我还修改了 C:\ti\mspm0_SDK_2_00_00_03\source\ti\driverlib\dl_timerg.h、添加以下内容以修复 TI 建议的另一个线程中存在的编译错误:

/**
*@与捕获比较关联的简短索引2
*/
#define DL_TIMERG_CAPTURE_COMPARE_2_INDEX DL_TIMER_CC_2_INDEX

/**
*@与捕获比较关联的简短索引3
*/
#define DL_TIMERG_CAPTURE_3_INDEX DL_TIMER_3_INDEX DL_CC_3_INDEX

附件文件是我测试的项目、请帮助检查我错过了什么、谢谢。

比尔

e2e.ti.com/.../test_5F00_pwm.rar

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

    更新 main()函数,结果为 same.e2e.ti.com/.../empty_5F00_mspm0c1104.c

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

    您好、Bill、

    我发现您之前发布了一个主题。(+) MSPM0C1104:TIMG14无法支持4 PWM 输出-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    所以、您仍然在坚持这一点、对吧?

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

    您好、于浩:

       是的、我们刚购买了 LP-MSPM0C1104、因此我们可以测试我们的代码并发现问题、您能帮我解决吗? 谢谢。

    比尔

       

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

    您好、Bill、

    根本原因是 DL_TimerG_initPWMMode ()缺少对 CC2和 CC3的配置。

    请在 SYSCFG_DL_init ()之后添加以下代码:

    DL_Timer_setCaptureCompareAction (PWM_0_INST、
    (DL_TIMER_CC_LACT_CCP_HIGH | DL_TIMER_CC_CDACT_CCP_LOW)、
    DL_TIMER_CC_2_INDEX);
    DL_Timer_setCaptureCompareAction (PWM_0_INST、
    (DL_TIMER_CC_LACT_CCP_HIGH | DL_TIMER_CC_CDACT_CCP_LOW)、
    DL_TIMER_CC_3_INDEX);

    谢谢。

    于浩

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

    您好、于浩:

       我试过、运行良好、还有一个问题: 还需要为 CC2和 CC3添加这些代码吗? 它们也在 DL_TimerG_initPWMMode()中  

    DL_Timer_setCaptureCompareCtl (
    gptimer、DL_TIMER_CC_MODE_COMPARE、0、DL_TIMER_CC_0_INDEX);

    DL_Timer_setCaptureCompareCtl (
    gptimer、DL_TIMER_CC_MODE_COMPARE、0、DL_TIMER_CC_1_INDEX);

    DL_Timer_setCaptureCompareOutCtl (gptimer、DL_timer_CC_OCTL_init_VAL_LOW、
    DL_TIMER_CC_OCTL_INV_OUT_DISABLED、DL_TIMER_CC_OCTL_SRC_FUNCHVAL
    DL_TIMER_CC_0_INDEX);

    DL_Timer_setCaptureCompareOutCtl (gptimer、DL_timer_CC_OCTL_init_VAL_LOW、
    DL_TIMER_CC_OCTL_INV_OUT_DISABLED、DL_TIMER_CC_OCTL_SRC_FUNCHVAL
    DL_TIMER_CC_1_INDEX);

    DL_Timer_setCaptureCompareInput (gptimer、DL_TIMER_CC_INPUT_INV_NOINVERT、
    DL_TIMER_CC_IN_SEL_CCPX、DL_TIMER_CC_0_INDEX);

    DL_Timer_setCaptureCompareInput (gptimer、DL_TIMER_CC_INPUT_INV_NOINVERT、
    DL_TIMER_CC_IN_SEL_CCPX、DL_TIMER_CC_1_INDEX);

    比尔

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

    是的、他们也错过了。 但对于您的情况、我认为添加  setCaptureCompareAction 就足够了。

    我们将在更高版本的 SDK 中修复该问题。

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

    非常感谢!