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.

[参考译文] UCD3138064:如何为 UCD3138064配置中断处理程序

Guru**** 2455560 points


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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/674716/ucd3138064-how-to-configure-interrupt-handler-for-ucd3138064

器件型号:UCD3138064

对于 UCD3138064 器件、我们如何定义中断处理程序函数?

我找不到有关如何声明这些中断处理程序例程的任何示例。

谢谢

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


    这里是一个定义中断源的示例。


    void init_interrupts (void)

    TimerRegs.T16PWM2CMP0DAT.ALL = INTERRUPT_TIMER_VAL;//将 PWM 发送为低电平的阈值。 约10[0]KHz。 按照规格64ns 时钟周期
    TimerRegs.T16PWM2CMP1DAT.ALL = 0xFFFF;//将 PWM 发送为高电平的阈值
    TimerRegs.T16PWM2CMPCTRL.ALL = 2;//启用比较0 (复位)中断
    TimerRegs.T16PWM2CNTCTRL.ALL = 0x00c;//PWM 计数器正在运行、并通过比较0上的比较操作使能 PWM 计数器复位

    disable_interrupt ();
    disable_fast_interrupt ();

    WRITE_REQMASK (CIMINT_All_PWM2_COMP| CIMINT_All_TMR_CAPT0 | CIMINT_All_FAULT_MUX);//启用 pwm2cmp 和 DPWM0中断(第16个周期结束)(int-priority29)
    WRITE_FIRQpr (CIMINT_All_TMR_CAPT0 | CIMINT_All_FAULT_MUX);//DPWM0中断(第16个周期结束)映射到 FIQ

    enable_fast_interrupt ();
    enable_interrupt ();


    触发中断时调用 ISR。

    #pragma INTERRUPT (FAST_INTERRUPT、FIQ)
    void fast_interrupt (void)

    .


    如果您有 TI EVM 源代码、则可以找到类似的代码。

    此致、
    肖恩