理论教育 I2C模块基本中断 -使用和处理方法

I2C模块基本中断 -使用和处理方法

时间:2023-06-15 理论教育 版权反馈
【摘要】:I2C模块产生的中断请求见表13-3。如图13-13所示,所有中断请求都汇集到仲裁器,通过仲裁判断之后再向CPU发出一个I2C中断请求。如果使能位为1,则该请求作为一个I2C中断发送到CPU。I2C中断的I2CINT1A_ISR通过读取中断源寄存器I2CISRC中的相应信息来确定中断源,然后执行中断服务子程序。②通过仲裁确定剩下的其他中断请求中哪个具有最高优先级,在寄存器I2CISRC中做出标记,并将该中断请求发送给CPU。

I2C模块基本中断 -使用和处理方法

I2C模块产生的中断请求见表13-3。如图13-13所示,所有中断请求都汇集到仲裁器,通过仲裁判断之后再向CPU发出一个I2C中断请求。在状态寄存器(I2CSTR)中给每个中断请求都分配了一个标志位,在中断使能寄存器(I2CIER)中给每个中断分配了一个使能位。当产生一个中断请求时,其标志位就置位,如果此时相应的使能位为0,则不响应该中断请求。如果使能位为1,则该请求作为一个I2C中断发送到CPU。

13-3 基本I2C请求功能描述

978-7-111-57271-8-Chapter13-21.jpg

978-7-111-57271-8-Chapter13-22.jpg

图13-13 I2C中断请求的工作方式(www.daowen.com)

I2C中断是CPU的可屏蔽中断之一。与其他可屏蔽中断一样,如果CPU能够响应该中断,便执行响应的中断服务程序(I2CINT1A_ISR)。I2C中断的I2CINT1A_ISR通过读取中断源寄存器I2CISRC中的相应信息来确定中断源,然后执行中断服务子程序。

CPU读取中断源寄存器I2CISRC之后,将进行以下步骤:

①清除I2CSTR寄存器中相应的中断源标志位,但I2CSTR中的ARDY、RRDY及XRDY位不清除。当需要清除时,向该位写1。

②通过仲裁确定剩下的其他中断请求中哪个具有最高优先级,在寄存器I2CISRC中做出标记,并将该中断请求发送给CPU。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈