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.

[参考译文] TMS320F28075:简单的 ASM 中断请帮助。

Guru**** 2482225 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1449450/tms320f28075-simple-interrupt-in-asm-please-help

器件型号:TMS320F28075

工具与软件:

大家好、在多次尝试在组装过程中在 PORTB 上写入一个简单的 LED 二进制计数器后、我请求帮助。 每次运行 ASM 代码时、F28075都会崩溃。 我已经阅读了 ASM 参考指南中的 ASM 示例、但是尝试仍然失败了。

我要做的就是:

我在 PORTB 上有32个 LED、 将累加器递增#1并将32位结果输出到 PORTB、其中二进制数将显示在 LED 上。 我可以在一个线程中执行该操作、它运行良好。

我将使用 INTR 调用我的中断。 按照参考指南的说明、我将所有寄存器保存到堆栈中、但仍然没有办法。

我还希望中断继续运行、以便无论 CPU 在运行什么、LED 都能继续计数。

请,这里的任何帮助都将非常感谢,因为它在我的头。

感谢大家、希望很快收到您的反馈。

Peter

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

    尊敬的 Peter:

    是在汇编语言还是 C 语言中实现中断 ISR?  

    [quote userid="603390" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1449450/tms320f28075-simple-interrupt-in-asm-please-help 我正在使用 intr 来调用我的中断。 按照参考指南中的说明将所有寄存器保存到堆栈中、但仍然没有办法。[/QUOT]

    您是指 INTM? 此命令只会在全局级别启用中断。 您仍需要在 IER 寄存器中启用中断组、并在 PIEIER 寄存器中的组内部启用特定中断。 一旦所有这些被启用、如果中断条件发生并且设定了标志、您的 ISR 应该被分支到。 同时确保您已经注册了中断处理程序并在外设级别启用了中断。

    此致、

    Delaney