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

TMS320F28069: TMS320F28069PNT

Part Number:TMS320F28069

请问一下,对于F28069中断,从手册上看,CPU会主动将IFRx, IERx,INTM清零,但是手册上没有给出是否会将这些位再重新置1,请问,CPU会在退出中断的时候这么做吗?

另外,从手册上看如果要使能PIERIFRx group中的其他中断,需要将PIEACKx清零;那对于不使能该PIERIFRx group中的其他中断就不需要将PIEACKx清零了?但是从手册上看,它在进入中断的时候还是会判断PIEACKx是否为0,那这个PIEACKx是谁将其清零的?

Ben Qin:

你好,

大飞狼wch 说:CPU会在退出中断的时候这么做吗?

会的。

大飞狼wch 说:但是从手册上看,它在进入中断的时候还是会判断PIEACKx是否为0,那这个PIEACKx是谁将其清零的?

能否指明在哪一部分?

,

大飞狼wch:

您提到CPU在退出中断会将这些标志重新置1,请问这个有出处吗?

另外对于第二个问题,出处是SPRUH18I 2022 JUNE修订版 P169  图1-94中, Stage J有提到需要将其清零,且在Stage C有提到会判断PIEACKx是否为0。我在程序中做了一个20us的timer 0中断,在ISR中并没有将PIEACKx清零,但是还是能够正常进入中断,这里蛮困惑的。

另外图片要如何上传,还是我上传的图分辨率太高了?

,

Ben Qin:

大飞狼wch 说:CPU会在退出中断的时候这么做吗?

抱歉这里说错了,这里应该是不会的。IFRx是中断标志位,发生了中断才会置1. IER是中断使能寄存器,不会自动清零的。Global interrupt mask (INTM) 也不会自动清零。我不太明白你这里说的自动清零是什么情况。

大飞狼wch 说:那对于不使能该PIERIFRx group中的其他中断就不需要将PIEACKx清零了?

 这里同一时间只能有一个中断,其他中断是不用考虑的。

,

大飞狼wch:

SPRUH18I 2022 JUNE修订版 P169  图1-94中有提到的。

另外后面那个我的疑问是我们在ISR中需不需要将PIEACKx清零,如果不清零是否会导致下一次的中断无法进入?

,

Ben Qin:

你是说的这个图吧,是的,根据这个图,在stage H,IFRx和IERx被清0,INTM被置1;在stage J,CPU会将PIEACKx置1,IERx置1(Re-enable interrupts),INTM清零。这里IERx是会置1的。

大飞狼wch 说:另外后面那个我的疑问是我们在ISR中需不需要将PIEACKx清零,如果不清零是否会导致下一次的中断无法进入?

是的,必须进行手动清零,它不会自动清零,否则将进入不了下次中断。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28069: TMS320F28069PNT
分享到: 更多 (0)