请假大家DSP28335的问题,程序里能不能暂时关闭epwm_isr中断,待执行完一些语句后重新开启epwm_isr中断?有相应的程序吗?试了很多方法都不行,TI说明里所说的要清除PIEIER寄存器的位方法,有相应的例程吗?谢谢
方法
1:利用PIEIERx寄存器禁止中断并保护相应的PIEIFRx标志位。 当保护相应的PIEIFRx标志位,并清除PIEIERx中的位时,需要执行以下步骤: ①禁止全局中断(INTM=1)。 ②清除PIEIERx.y位,禁止特定外设的中断,可以禁止一个或同一组中的多个中断。 ③等待5个周期,这个延时是确保向CPU发出的任何中断都能在CPU IFR寄存器中被标记。 ④清除外设中断组中的CPU IFRx位,这是在CPU IFR寄存器中的安全操作。 ⑤清除外设中断组中的PIEACKx位。 ⑥使能全局中断(INTM=0)。
Seven Han:
你可以看下帖子:
http://www.deyisupport.com/question_answer/microcontrollers/c2000/f/56/t/100349.aspx?keyMatch=28335%20pwm%20%E5%AF%84%E5%AD%98%E5%99%A8%E6%8E%A7%E5%88%B6&tisearch=Search-CN-Support
请假大家DSP28335的问题,程序里能不能暂时关闭epwm_isr中断,待执行完一些语句后重新开启epwm_isr中断?有相应的程序吗?试了很多方法都不行,TI说明里所说的要清除PIEIER寄存器的位方法,有相应的例程吗?谢谢
方法
1:利用PIEIERx寄存器禁止中断并保护相应的PIEIFRx标志位。 当保护相应的PIEIFRx标志位,并清除PIEIERx中的位时,需要执行以下步骤: ①禁止全局中断(INTM=1)。 ②清除PIEIERx.y位,禁止特定外设的中断,可以禁止一个或同一组中的多个中断。 ③等待5个周期,这个延时是确保向CPU发出的任何中断都能在CPU IFR寄存器中被标记。 ④清除外设中断组中的CPU IFRx位,这是在CPU IFR寄存器中的安全操作。 ⑤清除外设中断组中的PIEACKx位。 ⑥使能全局中断(INTM=0)。
ChuShan Zhang:
回复 Seven Han:
DSP28335如何关闭和开启epwm_isr中断?我的程序满足一定条件后,想中途关闭EPWM1的INT中断,不知道如何实现,是否有程序可以参考?谢谢