每个中断源有一个中断标志与其相关。中断标志在中断标志和清除(INTFLAG)寄存器被设置,当中断条件发生
。每一个中断可以被单独通过向中断使能设置寄存器(INTENSET)相关位写1,并且禁止是通过向相应中断使能
清除寄存器(INTENCLR)写1。一个中断请求发生是当中断标志被置位并且相应的中断使能。中断请求保持激活
直到中断标志被清除,中断被失能,或者I2S复位。见INTFLAG的描述关于怎样清除中断标志。所有外设的中
断请求在系统级都被或在一起产生一个组合的中断请求到NVIC。用户必须读INTFLAG寄存器来确定哪个中断条
件发生。
注意为了中断请求的产生中断必须被全局使能。
28.6.8.3 事件
没有应用。
28.6.9 休眠模式操作
I2S连续运行在所有的休眠模式,还提供它的时钟。
28.6.10 同步
由于有异步CLK_I2S_APB和GCLK_I2S_n之间,一些寄存器必须同步访问。一个寄存器被需要:
。当写时同步
。当读时同步
。当读写时同步
。不需要同步
当执行一个操作需要同步,相应的同步忙比特在同步忙寄存器(SYNCBUSY)将立刻被设置,并且当同步结
束时清除。如果一个操作需要同步执行而这时相应的SYNCBUSY比特是1,则一个外设总线错误产生。
以下比特需要写时同步:
。在控制寄存器A中的软件复位比特。当同步正在进行时SYNCBUSY.SWRST被设置。
。控制寄存器A中的使能比特(CTRLA.ENABLE)。当同步正在进行时SYNCBUSY.ENABLE被设置。
。控制寄存器A中的时钟单元X使能比特。当同步正在进行时SYNCBUSY.CKENx被设置。
。控制寄存器A中的串化器x使能比特(CTRLA.SERENx)。当同步正在进行时SYNCBUSY.SERENx被调置。
以下寄存器需要在读写时同步:
数据n寄存器(DATAn),当串化器n在接收模式读同步或当接收模式时的写同步。SYNCBUSY.DATAn当同步
进行时被设为1。
同步是通过读写寄存器描述读同步或写同步描述表示的。
|