TI C2833x介绍---复位与中断(10)

来源:本站
导读:目前正在解读《TI C2833x介绍---复位与中断(10)》的相关信息,《TI C2833x介绍---复位与中断(10)》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《TI C2833x介绍---复位与中断(10)》的详细说明。
简介: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)》最后刷新时间 2024-03-14 01:13:23,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《TI C2833x介绍---复位与中断(10)》该内容的真实性请自行鉴别。