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.

[参考译文] CCS/UCD3138:如何在 UCD3138A64中设置快速中断

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/639040/ccs-ucd3138-how-to-set-the-fast-interrupt-in-ucd3138a64

器件型号:UCD3138

工具/软件:Code Composer Studio

大家好、亲爱的 同事

我想用代码设置 fault3的快速中断,但失败了,您能告诉我它有什么问题吗?

TimerRegs.T16PWM2CMP0DAT.ALL =1562;  //40Hz 1562;  //复位计数器的阈值- 15.625MHz/10 KHz。
 TimerRegs.T16PWM2CMPCTRL.ALL = 2;  //启用比较0 (复位)中断
 TimerRegs.T16PWM2CNTCTRL.ALL = 0x00c; //PWM 计数器正在运行、并通过比较0上的比较操作使能 PWM 计数器复位
 disable_fast_interrupt ();//确保禁用快速中断
 disable_interrupt ();
// write_reqmask (CIMINT_All_PWM2_COMP);   //| CIMINT_All_FAULT_PIN);
 WRITE_REQMASK (CIMINT_All_FAULT_PIN|CIMINT_All_PWM2_COMP);//(0x02020000);//启用 FAULT_INT 和 PWM0_INT
 WRITE_FIRQpr (CIMINT_All_FAULT_PIN);                    //(0x02000000);//将它们设置为除 FAULT_INT 之外的所有 IRQ
 ENABLE_FAST_INTERRUPT ();//确保启用快速中断以关闭 OVP
 enable_interrupt ();
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Erwin、就其运行情况而言、这看起来不错、 但是、您还需要编写代码以启用从故障3侧到中断标志寄存器的故障3中断、以及处理中断的代码和代码、以确保它不会永远调用中断。  

    您能否也向我们展示所有这些代码?  

    调试该代码的最佳方法是在不启用中断的情况下运行该代码、并通过内存调试器查看指示中断的所有位。