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.

[参考译文] TM4C123GH6PGE:如何通过 PWM 外设对脉冲进行计数

Guru**** 2391415 points
Other Parts Discussed in Thread: TM4C123GH6PGE, EK-TM4C1294XL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1031099/tm4c123gh6pge-how-to-count-impulses-via-the-pwm-peripheral

器件型号:TM4C123GH6PGE
Thread 中讨论的其他器件: EK-TM4C1294XL

您好、

我不熟悉 TM4C123GH6PGE 系列。 我喜欢监控风扇的速度。 该风扇提供一个"转速"信号、该信号为一个旋转生成2个脉冲。 我的想法是在1秒的时间间隔内对脉冲进行计数。
在查看数据表后、我想可以使用 PWM 外设为我执行该任务。
我在寻找一些示例代码、但我没有找到一些示例代码。 因此、我在这里寻求一些帮助。

我的风扇通过 PH5 -> M0PWM5进行驱动(目前我只使用 GPIO 输出并将其设置为1 =最大速度)
风扇转速信号通过 PH6 -> M0PWM6返回

我需要如何设置引脚和 pwm0外设、以便在特定的时间内对脉冲进行计数?
如何使用 FAULT、generator1、generator2、...、generator3 ISR?

是否有任何代码段的想法或引用?
Stefan

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

    您好 Stefan、

    我不知道如何使用 PWM 来实现这一点、也许我在这里不理解您的意图、但 PWM 是器件的输出、所以我不知道如何使用它来监控这一点。

    相反、我建议您查看我们的 TM4C129x 示例项目中 的 TIMER_EDGE_CAPTURE、该示例项目可在 TivaWare 示例项目的 boards/ek-tm4c1294xl 文件夹中找到。 这是一种更好的实现方法、同样的概念也适用于 TM4C123x。 这也意味着您也不需要超过1秒的测量。 它将能够捕获脉冲长度的变化。

    我认为这是最好的解决方案、但如果您感觉不同、我们可以集思广益、提出其他想法、请告诉我。

    此致、

    Ralph Jacobi