打印
[Atmel]

每天跟我读点资料(172)

[复制链接]
459|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ddllxxrr|  楼主 | 2015-4-13 18:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
26.6.2 基本操作
26.6.2.1 初始化
       下列寄存器写保护,意味着它们只能被写在SPI禁止的时候(CTRL.ENABLE是零)
       。控制寄存器A(CTRLA),除了使能(CTRLA.ENABLE)和软件复位(CTRLA.SWRST)
       。控制寄存器B(CTRLB),除了接收使能(CTRLB.RXEN)
       。波特率寄存器(BAUD)
       。地址寄存器(ADDR)
       任何写到这些寄存器当SPI是使能或正在被使能(CTRLA.ENABLE是1)将被丢弃。
       当SPI被禁止的状态下或正在禁止完成的情况下,可以写这些寄存器。
       使能写保护的指示是通过寄存器描述中使能写保护属性指示的。
       在SPI使能之前 ,它必须被配置,大概步骤如下:
      
       。SPI的主机模式或从机模式选择必须通过写0x2或0x3到寄存器A中的操作模式比特组
(CTRLA.MODE)
       。传输模式必须被选择通过写控制寄存器A中的时钟相位比特和时钟极性比特(CTRLA.CPOL和
CTRLA.CPHA)
       。传输格式必须通过向控制寄存器A的帧格式比特组写来实现的(CTRLA.FORM)
       。SERCOM pad 用来接收的必须通过写控制寄存器A的数据输入管脚比特组来选择。
       。字符长度必须通过向控制寄存器B字符长度比特组写来选择的。
       。数据方向必须通过向控制寄存器A数据顺序比写来选择的。
       。如果SPI是用在主机模式,波特率寄存器(BAUD)必须被写,用来产生期望的波特率。
       。如果SPI是用在主机模式并且硬件SS控制也要求,主从选择使能比特在控制寄存器
B(CTRLB.MSSEN)将要被置1。
       。接收可以被使能通过向控制寄存器B中的接收使能比特写1来实现的。

26.6.2.2 使能,禁止和重启
       SPI使能是通过向控制寄存器A中的使能比特写1来实现的。SPI的禁止是通过向CTRLA.ENABLE写零
来实现的。
       SPI的复位是通过向控制寄存器A中的软件复位比特写1来实现的(CTRLA.SWRST)。所有的SPI的寄存
器,除了DBGCTRL,将要复位到初使状态。并且SPI将被禁止。请参考CTRLA的描述。
26.6.2.3 时钟产生
       在SPI主机操作(CTRLA.MODE是0x3),串行时钟(SCK)是产生于内部的用SERCOM波特率发生器。当用
SPI模式时,波特率发生器被设置为同步模式,8比特波特率寄存器(BAUD)值用来产生SCK,给移位寄存器
时钟。请参考"Clock Generation- Baud-Rate Generator"的描述。
       在SPI的从机操作模式(CTRLA.MODE是0x2),时钟提供是通过一个外部的SCK管脚.这个时钟被直接
用作SPI的移位寄存器。




相关帖子

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

本版积分规则

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

2398

主题

6950

帖子

67

粉丝