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

C6678跑裸代码(不跑sys/bios)如何使用中断嵌套?

如题,手册上说硬件默认不支持中断嵌套,那么中断优先级的用处是什么?

如何用软件实现中断嵌套?求例程。

King Wang1:

中断优先级的作用是同时来了多个中断时,优先级高的中断先响应。

中断嵌套,如果不用BIOS就是自己实现的,原则上你在处理中断的时候,将GIE打开,IER使能,那么只要有中断来都可以响应,不管是不是在中断中。

Enoeht lea:

回复 King Wang1:

谢谢。

我的理解是还需要处理中断之前保护现场,退出中断服务程序前恢复现场。

请问有没有相关例程,求分享。

Enoeht lea:

回复 Enoeht lea:

顶一下

farui qi:

回复 Enoeht lea:

中断嵌套,应该在进入的时候需要保护现场吧,大神,你们弄了吗?分享一下经验

farui qi:

回复 farui qi:

各位,中断嵌套感觉没有起作用,能不能帮忙看一下代码有什么问题?

void GPINT11_IMU_ISR()
{//中断嵌套unsigned int old_csr;//Control status registerunsigned int old_irp;//interrupt return pointer registerunsigned int old_ier;//interrupt enable registerold_csr = CSL_chipReadReg(CSL_CHIP_CSR);old_irp = CSL_chipReadReg(CSL_CHIP_IRP);old_ier = CSL_chipReadReg(CSL_CHIP_IER);old_ier = old_ier | 0x0180;//使能中断(中断向量7,8)old_csr = old_csr | 1;//所有的可屏蔽中断使能CSL_chipWriteReg(CSL_CHIP_IER,old_ier);CSL_chipWriteReg(CSL_CHIP_CSR,old_csr);Read_IMU();old_csr = old_csr & 0xfffffffe;//恢复CSL_chipWriteReg(CSL_CHIP_CSR,old_csr);CSL_chipWriteReg(CSL_CHIP_IRP,old_irp);
}

Shine:

回复 farui qi:

感觉怎么没起作用?先确认一下中断产生了吗?下面的CPU user guide第页上有nest interrupt使用说明。6.6.2 Nested Interruptshttp://www.ti.com/lit/ug/sprugh7/sprugh7.pdf 

赞(0)
未经允许不得转载:TI中文支持网 » C6678跑裸代码(不跑sys/bios)如何使用中断嵌套?
分享到: 更多 (0)