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.

[参考译文] MSPM0G3507:生成单个 PWM 脉冲

Guru**** 2398695 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1490503/mspm0g3507-generating-single-pwm-pulse

器件型号:MSPM0G3507

工具与软件:

团队成员、您好!

我如何才能仅生成一个 PWM 脉冲? 我是否需要在内部使用单次触发模式中断并触发 PWM 中断?   

如果有任何示例代码、请告诉我。  

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

    我想您可以使用示例 timx_timer_mode_pwm_edge_sleep:

    https://dev.ti.com/tirex/explore/node?node=A__AJKqQhYQGIeFg2xNN9p1ng__MSPM0-SDK__a3PaaoK__LATEST

    并向添加呼叫  

    > DL_Timer_setCounterRepeatMode (PWM_0_INST、 DL_TIMER_REPEAT_MODE_DISABLED);

    每次调用 DL_TimerG_startCounter ()时,您都会得到一个脉冲。

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

    谢谢 Bruce、

    这帮我解决了这个问题。  

    您通常是否会在 sdk/Drivelib/api_guide 中找到此行?

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

    我通常从 TRM 开始-在本例中我知道你想要 repeat = 0 -然后搜索 driverlib 源代码[source/ti/driverlib]来查看它是如何引用该设置的。

    有一个模式 DL_TIMER_TIMER_MODE_ONE_SHOT、但它似乎仅适用于计时器、而不适用于 PWM-s [尽管它们实际上都是计时器]。 因此所需的额外调用。