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.

[参考译文] TMS320F2812:2812中的中断

Guru**** 2574265 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/643174/tms320f2812-interrupts-in-2812

部件号:TMS320F2812

嗨...我的问题是关于2812 DSP中的中断...

我正在使用CINT0和T1PINT 中断。 但在执行代码时,两个都在互相中断。这意味着当正在进行的CINT0时,T1PINT正在中断CIN0。 T1PINT正在进行中时,正在发生类似的事情。实际上,由于 T1PINT中的CINT0中断代码执行时间变为40micro sec,代码执行时间在T1PINT中为6micro sec T1PINT中断为0.1毫秒,CINT0为2毫秒。 您能告诉我如何解决这个问题吗???

我想知道我们是否可以在不使用GP计时器和CPU中断的情况下生成2毫秒中断???

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

    中断的默认行为是让INTM在进入ISR之前进行设置,因此除非您添加代码使中断嵌套,否则中断实际上不会相互中断,因为中断已被禁用。 下面是有关中断行为的一些详细信息:

    processors.wiki.ti.com/.../Interrupt_Nesting_on_C28x

    你能给我更多的信息吗? 您如何测量中断的执行时间?

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

    我相信您正在谈论下面显示的这两个ePIE中断源:-

    CINT0 - INT1。 INTX.7
    T1PINT - INT2。 INTX.4

    如果以上为true,则由于INT1的优先级高于INT2,因此CINT0不能被T1PINT中断中断中断。 但是,与INT2相比,INT1中断具有更高的优先级,因此T1PINT ISR可以被CINT0中断中断中断中断。 如果不想让T1PINT中断被CINT0中断中断中断中断,请在输入T1PINT ISR后立即禁用相应的CINT0 PIE中断启用位,并在退出T1PINT ISR例程之前重新启用。

    此致,
    Manoj
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好...谢谢你的回复... 我启用一个GPIO引脚在代码取消中断开始时为高,并在中断代码结束时使相同的GPIO引脚为低。 有了这个,我可以测量执行时间
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Manoj。。谢谢你的回复。。。 我想在T1PINT处理时阻止CINT0。 如果不可能,除了定时器中断之外,我们还可以生成其他优先级低于T1PINT的中断吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    维尼卡特

    如果在T1PINT中断上工作时要阻止CINT0中断,请在输入T1PINT ISR后立即禁用相应的CINT0 PIE中断启用位,并在退出T1PINT ISR例程之前重新启用。

    与INT3-INT12关联的所有ePIE中断的优先级都低于T1PINT中断。

    此致,
    Manoj