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.

[参考译文] TM4C1290NCPDT:定时器4 A/B 定时器超时中断..

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/600165/tm4c1290ncpdt-timer-4-a-b-timer-timeout-interrupts

器件型号:TM4C1290NCPDT

尊敬的 TI:

我已将 Timer4配置为在向上计数模式下作为2个独立的24位计时器运行、并设置为在上升沿捕获时间。 我有一个生成8Hz 方波信号的音频发生器--我在模拟示波器上观察到这一点--并且正在发生捕捉中断。 但是、当我获得捕获中断时、我没有获得任何计时器超时中断。 我在 IMR 寄存器中启用了计时器超时中断。 我添加了调试代码、中断处理程序在任何时候都不会因为捕获中断而运行、即 RIS 寄存器中设置的定时器超时位。 (即使我将发生器启动至100Hz、在仅2.25秒的时间内只获得超过100个捕获事件。

Timer4时钟源:PIOSC (16MHz)。

Timer4配置为在睡眠和深度睡眠模式下运行、但在此环境中不使用睡眠。

在某些配置设置回读0x00000217后、Timer4 TAMR 寄存器。

控制事件为:TIMER_EVENT_POS_EDGE。

定时器预分频设置为0xFF。

由于我正在使用调试器、因此 Timer4配置为在处理器进入调试模式时停止。 但是、我在没有调试器控制的情况下免费测试了代码。

当我想"释放"计时器时、我启用计时器、将零写入 TAV 和 TAPR 寄存器。 然后启用中断:TIMER_CAP_EVENT 和 TIMER_TIMA_TIMEOUT。 当读取该位时、IMR 寄存器包含0x00000005。

我可以最好地告诉它我已经正确配置了 Timer4 A、但即使在 RIS 寄存器中也不会发出计时器超时中断信号。

我缺少什么吗?

Marc Warden

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

    尊敬的 Marc:

    在捕获模式下、不会产生超时中断。 仅生成捕获事件。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的。 必须想出另一种方法来实现所需的目标。

    谢谢。