打印
[Atmel]

每天跟我读点资料:SAM D21数据手册(190)

[复制链接]
575|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ddllxxrr|  楼主 | 2015-5-12 18:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
27.6.4.2 中断
      I2C从机有以下中断源:

      。错误(ERROR):这是个非同步中断可以从何任休眠模式中唤醒设备。

      。数据准备好(DRDY):这是个非同步中断可以从何任休眠模式中唤醒设备。

      。地址匹配(AMATCH):这是个非同步中断可以从何任休眠模式中唤醒设备。

      。停止接收(PREC):这是个非同步中断可以从何任休眠模式中唤醒设备。

      I2C主机有以下中断源:

      。错误(ERROR):这是个非同步中断可以从何任休眠模式中唤醒设备。
      。从机在总线(SB):这是个非同步中断可以从何任休眠模式中唤醒设备。
      。主机在总线(MB):这是个非同步中断可以从何任休眠模式中唤醒设备。

      每个中断源有一个相关的中断标志.当中断条件发生,中断标志在中断标志状态和清除寄存器

(INTFLAG)设置。每个中断能单独地通过写中断使能寄存器(INTENSET)中的相应位使能,并且禁止是通过写中

断清除寄存器(INTENCLR)中的相应位。当中断标志被设置并且相应的中断使能,则中断请求产生。中断请求

保持活动直到中断标志被清除,中断被禁止或I2C被复位。请参看INTFLAG的描述关于怎样清除中断标志。

      I2C有一个对所有中断源通用的中断请求线。用户必须读INTFLAG来判断哪一个条件是存在的。


      注意为了中断请求产生全局中断必须使能。请参考"Nested Vector Interrupt Controller"

27.6.4.3 事件

      没有应用。

27.6.5 休眠模式操作

      在I2C主机操作期间,通用时钟(GCLK_SERCOMx_CORE)将继续在空闲休眠模式下运行。如果运行在控制

寄存器A的Standby比特位为1的情况下,GLK_SERCOMx_CORE也将运行在standby休眠模式。任何中断通唤醒设

备。

      如果在I2C主机操作期间CTRLA.RUNSTDBY是零,GLK_SERCOMx_CORE将在连续传输结束时禁止。任何中断

可以唤醒设备。

      在I2C从机操作期间,写一个1到CTRLA.RUNSTDBY将允许地址匹配中断唤醒设备。

      在I2C从机操作期间,当CTRLA.RUNSTDBY是0所有的接收将放下。


27.6.6 同步

      处理CLK_SERCOMx_APB和GCLK_SERCOMx_CORE之间的同步,一个寄存器必须在访问时被同步。

      一个寄存器需要:

      。写时同步
      。读时同步
      。读写时同步
      。不用同步

     当执行一个操作需要同步,在同步忙寄存器(SYNCBUSY)相应同步忙比特将立刻置位,并且在同步结束时

清零。
     如果一个操作需要同步执行这时相应的SYNCBUSY比特进1,一个外设总线错误将生产。

     下列比特需要写时同步:
     。在控制寄存器A软件复位比特(CTRLA.SWRST)。SYNCBUSY.SWRST当同步进行时设为1.
     。控制寄存器A使能比特(CTRLA.ENABLE)。SYNCBUSY.ENABLE当同步进行时设置为1.
     。在状态寄存器的写总线状态比特。SYNCBUSY.SYSOP当同步进行时设置为1
     。当在主机操作时,在地址寄存器(ADDR.ADDR)的地址比特,SYNCBUSY.SYSOP在同步进行时设置为1.
     。当在主机操作时,数据DATA,SYNCBUSY.SYSSOP当同步进行时设置为1.
写同步指示是在寄存器描述中的写同步属性指示的。





相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2398

主题

6956

帖子

67

粉丝