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:使用具有相同定时器的定时器 CCP0和 CCP1

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1031281/tm4c123gh6pge-using-timer-ccp0-and-ccp1-with-the-same-timer

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

您好、

我有一个 PCB、其中引脚 PH6 (WT4CCP0)和 pH7 (WT4CCP1)连接到2个风扇的转速引脚。

我喜欢通过 CPP0和 CPP1触发的定时器4计数器来监控风扇速度。 如何执行此操作?

到目前为止、我只找到了一个计时器 ccp 的示例(https://www.programrsought.com/article/84445560134/)

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

    您好 Stefan、

    您能不能更详细地描述一下您希望从此处的输出中获得什么?

    您是否希望计算正边沿数、负边沿数、正边沿之间的时间、信号的高电平时间?

    此外、如果我之前分享的示例不够充分、您发现缺少哪些内容?

    此致、

    Ralph Jacobi

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

    早上拉尔夫
    >您能不能更详细地描述一下您希望从输出中获得什么?
    我喜欢测量数字转速信号的上升沿或下降沿。 到目前为止、我没有在这里要求输出(通过我喜欢通过 PWM 控制风扇速度-但这是另一个主题)
    >您是否希望计算信号的正边沿数、负边沿数、正边沿之间的时间、高电平时间?
    完全正确-我喜欢对边沿进行计数。 无论上升、下降还是两者都是如此。 由于我知道我的信号、因此我可以轻松计算风扇速度/频率。
    >如果我之前分享的示例不够充分、您认为缺少哪些内容?
    抱歉-我这里没有 Tiva 示例-也许您可以在 GitHub 上共享一个公共参考的链接

    要使这个问题更加通用:
    我有2个信号 S1和 S2。
    S1 -> pH7 -> WT4CCP1
    S2 -> PH6 -> WT4CCP0

    这2个信号连接到计时器4。
    是否可以感测 s1和 s2与计时器4并联的上升/下降沿计数? ;)

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

    您好 Stefan、

    计数肯定是可以的、感谢添加的详细信息、我现在可以清楚地理解这里的目标!

    我之前与您共享的程序是 TivaWare 中的一个示例项目、但它侧重于边沿宽度而不是边沿计数。

    我将看到、明天为您准备了一个基本程序、可以在两个引脚上执行计数测量。 我可能不会使用这些精确的引脚、具体取决于 LaunchPad 上提供的引脚、但可以将其转移到其他计时器。

    此致、

    Ralph Jacobi

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

    您好 Stefan、

    好的、这个项目有望在这里为您提供所需的东西。 就应用本身而言、它有点初级、但它显示了所有配置。 由于我需要两个信号、我重新使用了死区 PWM 示例、因此 A 和 B 计数之间没有实际偏移。

    该项目旨在通过将 PD2和 PD3连接到 EK-TM4C123GXL LaunchPad 上的 PB7和 PB6来使用。 这将来自 PB6/7输出的 M0PWM0/1馈入 PD2/PD3上的宽定时器3 CCP0/1输入。

    有中断设置为在特定数量的边沿计数时触发。 这设置为1000、这意味着中断将每4秒触发一次 、因为 PWM 以250Hz 的频率运行(因此每秒250个边沿)。

    当这些中断触发时、UART 应更新为生成的匹配中断的最新计数、 根据 Timer A 的奇数/偶数匹配计数,LED 将每8秒闪烁一次。。。。。。LED 虽然不是很有用,但我需要它进行调试,所以我把它留在了那里。

    最终、这将为您提供您可能需要的所有方面。 我不确定您是否需要每次中断、因此我也确保利用中断、因此它也可供参考。

    下面是完整的项目、让我知道它是如何工作的!  e2e.ti.com/.../timer_5F00_edge_5F00_count.zip

    此致、

    Ralph Jacobi

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

    非常好
    我错过了设置的匹配值、并且错误地配置了 CCP 管脚
    您的例子对我很有帮助。 多了