打印
[Atmel]

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

[复制链接]
538|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
27.6.2 基本操作

27.6.2.1 初始化

       以下寄存器有写保护使能,意味着它们能被写只有当I2C接口是禁止的时候(CTRLA.ENABLE是0):

       。控制寄存器A(CTRLA),除了使能(CTRLA.ENABLE)和软件复位(CTRLA.SWRST)
       。控制寄存器B(CTRLB),除了应答行为(CTRLB.ACKACT)和命令(CTRLB.CMD)
       。波特率寄存器(BAUD)
       。当从机操作时,地址寄存器(ADDR)

当I2C接口使能或正在使能(CTRLA.ENABLE是1)任何写这些比特或者寄存器将禁止。写这些寄存器当I2C接口当

禁止I2C完成后可以写入。

使能写保护在寄存器描述中的使能写保护属性中指示。

在I2C接口使能之前,它必须它必须按以下大致步骤配置:

I2C模式是主机或从机必须在控制寄存器A中的(CTRLA.MODE)的操作模式比特组通过写入0x4或0x5选择。

      。SCL低电平暂停时间能通过向控制寄存器A(CTRLA.LOWTOUT)的SCL低电平暂停比特写来使能

      。在主机操作中,不活动总线暂停时间能被设置在控制寄存器A(CTRLA.INACTOUT)中的不活动暂停时间

比特组写来实现

      。SDA等待时间能通过向控制寄存器B中的SDA等待比特组写来实现

      。Smart操作能通过向控制寄存器B中的Smart模式使能比特写来使能

      。在从机操作,地址匹配设置必须被设置在控制寄存器B中的地址模式比特组。

      。在主机操作中,波特率寄存器(BAUD)必须被写入期忘的波特率

27.6.2.2 使能,失能,和复位

      I2C接口的使能是通过向控制寄存器A(CTRLA.ENABLE)使能比特写1.I2C接口的禁止是向CTRLA.ENABLE写

0来实现的。I2C接口的复位是通过向控制寄存器A的软件复位比特写1(CTRLA.SWRST)。I2C的所有寄存器除了

DBGCTRL将要被复位到它们的初始状态,并且I2C接口将禁止。请参考CTRLA的描述。


27.6.2.3 I2C总线的状态逻辑

     总线状态逻辑包括几个逻辑块连续监视在所有休眠模式I2C总线上的活动。开始和停止的检测和比特记

数都以检测当前总线状态为基本过程。总线状态检测是依据状态图如下图所示。软件可以通过读状态寄存器

中的主机总线状态比特位来得到当前总线状态。STATUS.BUSSTATE的值是二进制展示的。












相关帖子

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

本版积分规则

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

2399

主题

6963

帖子

68

粉丝