1.如何开启某个中断?
- 设置中断向量。例如:PieVectTable.WAKEINT = &wakeint_isr;
- 打开PIE控制器。PieCtrlRegs.PIECTRL.bit.ENPIE = 1;
- 使能PIE中对应外设的中断(相应group的相应pin)。例如:PieCtrlRegs.PIEIER1.bit.INTx8 = 1;
- 使能CPU的相应中断(INT1~INT12)IER |= M_INT1;
- 使能CPU响应中断EINT;
2.中断标志有几级?作用是什么? 中断标志主要有三级CPU(有16个标志位)、PIE(有12组每组有12个标志位)和外设(有的外设没有)。标志位在中断发生后锁存中断状态,即表示中断发生。在CPU响应中断后,会自动清除cpu级别的标志位IFR bit,同时将INTM bit 置位,以防止其它中断的发生;CPU在从PIE中取中断向量时PIE会自动清除PIE级别的标志位PIEIFRx.y。所以在进入中断处理程序后除了外设所有中断位都已经清除。而中断处理程序中需要清除PIEACKx和外设的中断标志位(如果有的话)。 参考网址:http://www.deyisupport.com/question_answer/f/56/t/13047.aspx
|