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.

[参考译文] TM4C1237D5PM:如何使用 TI-RTOS 使用计时器模块配置 PWM 模块

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1024319/tm4c1237d5pm-how-do-you-use-ti-rtos-to-configure-a-pwm-module-using-the-timer-module

器件型号:TM4C1237D5PM
Thread 中讨论的其他器件:TM4C123SYSBIOS

我有使用 PWM 模块和 TI-RTOS 中的驱动程序的工作代码。 驱动程序是否可用于通过 CCPx 模块发送 PWM。 我们使用 TM4C123_EDK 进行原型设计、所选的微控制器没有 PWM 模块。 我们只需要一个简单的 PWM。  

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

    您好 James、

    我不认为包含 TI-RTOS 驱动程序和 BIOS。 TI-RTOS 似乎使用计时器外设来运行 SYS/BIOS 的时钟模块。

    根据您的系统配置方式、您可以通过 RTOS 找到一个未使用的定时器并进行一些手动 TivaWare 配置。 如果您需要使用 ISR、则会变得更加复杂、我需要了解我们的前 RTOS 专家对这方面的问题所说的内容。 但是、听起来您可以设置它并让它运行、这样可能是可行的。

    此致、

    Ralph Jacobi

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

    也许我没有正确地表述这个问题、因为我看到有人在之前发布了源代码、看起来就像我想要的那样。 我无法再次找到该代码。 基本上、代码已经配置了 TxCCPx 模块、并且配置了使用 TxCCPx 模块的 PWM 部分的 PWM 驱动器。 它允许 TI-RTOS 驱动程序在不包含 PWM 模块时创建 PWM。

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

    我想问的是、是否有任何方法可以使用 TI-RTOS 静态配置或 API 来处理 TM4C1237的 PWM、该 TM4C1237没有专用的 PWM 模块、但通过 GPTM 模块 TxCCPx 具有 PWM。

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

    尊敬的 James:

    我无法看到这种情况。

    您看到的可能是有人添加了该功能、并发布了他们如何使其正常工作、这当然是可能的。 尽管我找不到任何计时器、但只需使用 PWM 模块进行开机自检。

    此致、

    Ralph Jacobi

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

    是否可以通过 TivaWare 为计时器设置 PWM? 或者、我是不是从 scrath 中为此而工作。 我能找到一个示例吗?

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

    您好 James、

    是的! TivaWare 可从 以下位置下载:https://www.ti.com/tool/SW-TM4C

    您可以在  C:\ti\TivaWare_C_Series-2.2.0.295\examples\peripheral\timer\pwm.c 中找到我们针对此提供的示例

    TI-RTOS 使用较旧版本的 TivaWare 作为基础驱动程序、但我认为这些 API 中的任何一个都不会改变。

    此致、

    Ralph Jacobi

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

    我将更深入地研究它、但 TI-RTOS 中似乎有一个通过计时器实现 PWM 的驱动程序。 include 文件是 RTOS 文件夹中的 PWMTimerTiva.h。 不知道为什么文档中没有显示它。

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

    尊敬的 James:

    有趣的是、这看起来很有希望。 如果没有任何文档、我就认为它可能尚未经过全面测试/验证。 但我认为这应该让你有一个强有力的立场来开始工作。

    但是、如果它正常工作、它似乎非常强大:

     * Creating a PWM instance will make the corresponding timer unavailable to the
     * TI-RTOS kernel until the PWM instance is closed. Additionally, if the
     * required timer is already used by the kernel, the PWM instance will not be
     * opened.

     看起来传入的 kernelTimerID 变量将决定其中的很多。

    此致、

    Ralph Jacobi

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

    代码工作正常、因此我很好。 基本上看起来它使用的 PWM 调用与以前相同、但将其重定向为使用计时器模块。 必须更改 SYSBIOS 时钟节拍、但现在看起来不错。 他们应该在文档中注意到、即使未经测试、也有一些代码可用于从计时器生成 PWM。