TI中文支持网
TI专业的中文技术问题搜集分享网站

F28335中断嵌套问题

最近在使用F28335做控制器,需要一些中断,现在问几个问题,看自己的理解对不对。

1. 从响应中断-即对IFR.X对应的中断作出相应,到进入ISR过程所有可屏蔽中断是不能打入的?

2. 在进入ISR后,执行EINT 后,比当前中断优先级高的中断可以打入?

3. 在进入ISR后,执行IER |= M_X; EINT; 重新使能当前中断后,当前中断和更高优先级中断可以打入?

4. 在例程中有 

IER |= M_INT1;

IER &= MINT1;

后一语句的作用是什么,理解为屏蔽其它中断,为什么这样做?

请高手帮忙回答下

Eric Ma:

进入中断后,CPU默认关全局中断,保存IER,进入ISR,执行完后恢复IER,开全局中断。

进入ISR后,如果执行EINT,即开全局中断,这时候任何使能的中断都能够再让CPU去相应。

IER|=M_INT1; 是使能这组中断,让这组中断源能够嵌套。

IER&=M_INT1; 是屏蔽其他中断,然这个ISR中只有第一组能够进行中断嵌套。

由于进中断的时候IER已经有保存了,所以在这个过程IER如何改变都没关系。

Eric

最近在使用F28335做控制器,需要一些中断,现在问几个问题,看自己的理解对不对。

1. 从响应中断-即对IFR.X对应的中断作出相应,到进入ISR过程所有可屏蔽中断是不能打入的?

2. 在进入ISR后,执行EINT 后,比当前中断优先级高的中断可以打入?

3. 在进入ISR后,执行IER |= M_X; EINT; 重新使能当前中断后,当前中断和更高优先级中断可以打入?

4. 在例程中有 

IER |= M_INT1;

IER &= MINT1;

后一语句的作用是什么,理解为屏蔽其它中断,为什么这样做?

请高手帮忙回答下

Henry Le:

回复 Eric Ma:

进入ISR后执行IER |= M_X; EINT;当前中断是否可以嵌套打入。比如Timer0是否可被自己重入?

最近在使用F28335做控制器,需要一些中断,现在问几个问题,看自己的理解对不对。

1. 从响应中断-即对IFR.X对应的中断作出相应,到进入ISR过程所有可屏蔽中断是不能打入的?

2. 在进入ISR后,执行EINT 后,比当前中断优先级高的中断可以打入?

3. 在进入ISR后,执行IER |= M_X; EINT; 重新使能当前中断后,当前中断和更高优先级中断可以打入?

4. 在例程中有 

IER |= M_INT1;

IER &= MINT1;

后一语句的作用是什么,理解为屏蔽其它中断,为什么这样做?

请高手帮忙回答下

Eric Ma:

回复 Henry Le:

是可以的。如果你不想要,可以通过IER关掉。

Eric

最近在使用F28335做控制器,需要一些中断,现在问几个问题,看自己的理解对不对。

1. 从响应中断-即对IFR.X对应的中断作出相应,到进入ISR过程所有可屏蔽中断是不能打入的?

2. 在进入ISR后,执行EINT 后,比当前中断优先级高的中断可以打入?

3. 在进入ISR后,执行IER |= M_X; EINT; 重新使能当前中断后,当前中断和更高优先级中断可以打入?

4. 在例程中有 

IER |= M_INT1;

IER &= MINT1;

后一语句的作用是什么,理解为屏蔽其它中断,为什么这样做?

请高手帮忙回答下

Henry Le:

回复 Eric Ma:

你的意思是否中断可以被自身中断嵌套,自己打断自己,那嵌套层数是多少,可以嵌套几次。

最近在使用F28335做控制器,需要一些中断,现在问几个问题,看自己的理解对不对。

1. 从响应中断-即对IFR.X对应的中断作出相应,到进入ISR过程所有可屏蔽中断是不能打入的?

2. 在进入ISR后,执行EINT 后,比当前中断优先级高的中断可以打入?

3. 在进入ISR后,执行IER |= M_X; EINT; 重新使能当前中断后,当前中断和更高优先级中断可以打入?

4. 在例程中有 

IER |= M_INT1;

IER &= MINT1;

后一语句的作用是什么,理解为屏蔽其它中断,为什么这样做?

请高手帮忙回答下

Eric Ma:

回复 Henry Le:

没有限制多少层,但是每次嵌套都会压栈,堆栈空间是有限的。

另外,实际应用中,常用嵌套一层。

Eric

最近在使用F28335做控制器,需要一些中断,现在问几个问题,看自己的理解对不对。

1. 从响应中断-即对IFR.X对应的中断作出相应,到进入ISR过程所有可屏蔽中断是不能打入的?

2. 在进入ISR后,执行EINT 后,比当前中断优先级高的中断可以打入?

3. 在进入ISR后,执行IER |= M_X; EINT; 重新使能当前中断后,当前中断和更高优先级中断可以打入?

4. 在例程中有 

IER |= M_INT1;

IER &= MINT1;

后一语句的作用是什么,理解为屏蔽其它中断,为什么这样做?

请高手帮忙回答下

user3506888:

回复 Eric Ma:

您好,请问该方法能实现不同组别中断的嵌套吗?

例如:欲实现在DMA中断中嵌套定时器中断1,下面的方式能实现吗?

interrupt void Dma_ISR(void)

{

     IER |= M_INT7;     IER &= M_INT1;     PieCtrlRegs.PIEIER1.all &= 0x40;     PieCtrlRegs.PIEACK.all = 0xFFFF;     asm("   NOP");     EINT;

    ……..

    ……..

}

 

最近在使用F28335做控制器,需要一些中断,现在问几个问题,看自己的理解对不对。

1. 从响应中断-即对IFR.X对应的中断作出相应,到进入ISR过程所有可屏蔽中断是不能打入的?

2. 在进入ISR后,执行EINT 后,比当前中断优先级高的中断可以打入?

3. 在进入ISR后,执行IER |= M_X; EINT; 重新使能当前中断后,当前中断和更高优先级中断可以打入?

4. 在例程中有 

IER |= M_INT1;

IER &= MINT1;

后一语句的作用是什么,理解为屏蔽其它中断,为什么这样做?

请高手帮忙回答下

qingsong tan:

回复 Eric Ma:

你好,请问下怎样的中断方式才叫做多级中断嵌套呢?

本人在中断嵌套这里遇到一个中断循环嵌套(自我理解只是一级嵌套),但是无法一直执行的问题,还望指点下,谢谢,非常感谢!

具体情况见附录文件

最近在使用F28335做控制器,需要一些中断,现在问几个问题,看自己的理解对不对。

1. 从响应中断-即对IFR.X对应的中断作出相应,到进入ISR过程所有可屏蔽中断是不能打入的?

2. 在进入ISR后,执行EINT 后,比当前中断优先级高的中断可以打入?

3. 在进入ISR后,执行IER |= M_X; EINT; 重新使能当前中断后,当前中断和更高优先级中断可以打入?

4. 在例程中有 

IER |= M_INT1;

IER &= MINT1;

后一语句的作用是什么,理解为屏蔽其它中断,为什么这样做?

请高手帮忙回答下

xinglei wang:

回复 Eric Ma:

“这时候任何使能的中断都能够再让CPU去相应”,这句是不是意味着比当前中断优先级低的中断也能相应?

最近在使用F28335做控制器,需要一些中断,现在问几个问题,看自己的理解对不对。

1. 从响应中断-即对IFR.X对应的中断作出相应,到进入ISR过程所有可屏蔽中断是不能打入的?

2. 在进入ISR后,执行EINT 后,比当前中断优先级高的中断可以打入?

3. 在进入ISR后,执行IER |= M_X; EINT; 重新使能当前中断后,当前中断和更高优先级中断可以打入?

4. 在例程中有 

IER |= M_INT1;

IER &= MINT1;

后一语句的作用是什么,理解为屏蔽其它中断,为什么这样做?

请高手帮忙回答下

Eric Ma:

回复 xinglei wang:

“这时候任何使能的中断都�够再让CPU去相应”,这句是不是意味着比当前中断优先级低的中断也能相应?

ERIC:

是,如果开中断嵌套后,那么低优先级的中断也可以打断被嵌套的高优先级中断。

最近在使用F28335做控制器,需要一些中断,现在问几个问题,看自己的理解对不对。

1. 从响应中断-即对IFR.X对应的中断作出相应,到进入ISR过程所有可屏蔽中断是不能打入的?

2. 在进入ISR后,执行EINT 后,比当前中断优先级高的中断可以打入?

3. 在进入ISR后,执行IER |= M_X; EINT; 重新使能当前中断后,当前中断和更高优先级中断可以打入?

4. 在例程中有 

IER |= M_INT1;

IER &= MINT1;

后一语句的作用是什么,理解为屏蔽其它中断,为什么这样做?

请高手帮忙回答下

Fangyuan Zeng:

回复 Eric Ma:

您好,Eric Ma!

                           想请教一下您几个问题:

                           1.如果我想实现通过ePWM的SOC信号来触发ADC和DMA的中断,因为他们的中断不同组是否也涉及到中断嵌套的问题?

                           2.DMA触发源是有ePWM的SOC的,但是为什么DMA定义的头文件中只定义了前17个中断源,对18到31未作定义,可否用户自己定义,还是有其他的什么限制?

希望您可以回答,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » F28335中断嵌套问题
分享到: 更多 (0)