更多资料请访问与非网德州仪器技术社区论坛
TI C2833x 介绍---复位与中断(10)
准则3:使用 PIEIER 禁止中断
根据是否去掉中断的使能位,又分为两种处理方法:
方法1:使用 PIEIER 禁止中断,但是保留对应的中断标志位
这种方法的特点是中断不会丢失,需要以下的步骤:
1. 禁止全局中断(INTM = 1).
2. 清除 PIEIERx.y 位以禁止特定的外设中断;可以同时对一个组内的多个中断进行操作,
即对整个 PIEIERx 寄存器进行“或”操作的赋值。用或操作是为了不会误操作到与本次程序执行
的目的无关的位。
3. 循环等待5个时钟周期以确保所有送入CPU的中断的标志位可以在CPU IFR中正确操作。
4. 清除前面组所对应的 CPU 的 IFRx 位。
5. 清除外设中断组的 PIEACKx 应答位。Step e. Clear the PIEACKx bit for the
peripheral group.
6. 使能全局中断(INTM = 0).
方法2:使用 PIEIER 禁止中断,并清除对应的中断标志位
这种方法也叫对中断的“软”复位,其步骤是:
1. 禁止全局中断(INTM = 1).
2. 置位 EALLOW 位
3. 暂时修改 PIE 向量表指向一个空的中断服务子程序,这个程序只执行一个返回操作(这
个方法上次提到了)。此方法的有点在于可以安全修改单独的 PIEIFRx.y 位,而不影响组内的其
它中断。
4. 清除外设寄存器中的中断使能位。
5. 使能全局中断(INTM = 0)。
6. 等待所暂时设置的空 ISR 响应中断事件。
7. 禁止全局中断(INTM = 1).
更多资料请访问与非网德州仪器技术社区论坛
8. 将 PIE 中断向量表恢复默认状态。
9. 清除 EALLOW 位。
10. 禁止外设中断对应的 PIEIER 位。
11. 清除外设中断对应的 IFR 位。
Ps:这里也可以看出,与外设有关的 IER,IFR 这些位前面都带有外设或者 PIE 这样的前缀,而
与 CPU 直接相关的寄存器命名则直接、简单。
12. 清除 PIE 组的中断应答位 PIEACK。
13. 使能全局中断。
本文档为【TI C2833x介绍---复位与中断(10)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。