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.

[参考译文] TM4C1294KCPDT:为什么我们需要禁用 timer5的中断?

Guru**** 2468610 points
Other Parts Discussed in Thread: TM4C1294KCPDT

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/675511/tm4c1294kcpdt-why-we-need-to-disable-the-interrupt-of-timer5

器件型号:TM4C1294KCPDT

降级:

我们使用的是 TM4C1294KCPDT、我们在代码中使用一些中断、包括 timer0~4、I2C0~3、Mac、uart0、1、 2、7等

在以下代码中,updateMCU()函数实现了更新 MCU 片上闪存函数,如下所示:

但是,我们添加了 timer5的中断,程序将在 updataMCU()函数处停止。

然后添加代码以禁用 timer5的推理,程序正常。

我们想知道为什么我们使用以下代码无法禁用 timer5的中断?

HWREG (NVIC_DIS0) = 0xffffffff;
HWREG (NVIC_DIS1) = 0xffffffff;

此致

祝你好运

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    寄存器 DIS0和 DIS1禁用中断0-63。 定时器5组成数字65和66。

    尝试禁用所有 DIS 寄存器:

    HWREG (NVIC_DIS0)= 0xffffffff;
    HWREG (NVIC_DIS1)= 0xffffffff;
    HWREG (NVIC_DIS2)= 0xffffffff;
    HWREG (NVIC_DIS3)= 0xffffffff;
    HWREG (NVIC_DIS4)= 0xffffffff;
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、Peter。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    降级:

    非常感谢您的支持。

    此致

    祝你好运

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Peter:
    我们还有另一个关于中断的问题。
    如果我们禁用所有 DIS 寄存器、我们是否需要禁用看门狗、SysTick 等的中断? 在我们擦除片上闪存之前。
    非常感谢!

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

    克里的员工——这个人(现在你已经超过10年了)从你那里学到了! 非常感谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不要禁用所有中断、而是尝试找出在启用定时器5中断的情况下未运行的代码的其余部分有什么问题。

    这将是正确的解决方案。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Danny:
    抱歉、第二个问题与 timer5的中断无关。
    我只想知道、如果我们禁用所有 DIS 寄存器、我们是否需要禁用看门狗、SysTick 等的中断? 在我们擦除片上闪存之前。

    非常感谢!
    此致
    祝你好运