1.SPI:串行同步,四线制(串行时钟线,输入线,输出线,使能线)
SCI:串行异步,三线制(无时钟线)
2.向SPIDAT或发送缓冲寄存器SPITXBUF写入数据时就启动了从入主出的发送功能,先发送最高位。
在SPICLK节拍下一位一位的移到SPISIMO,移位完毕,中断标志位置1。
同时接受数据通过从出主入接收数据.
注意:左对齐发送,有对齐接受。
3.数据传输三种模式
1)主发送数据,从发送伪数据(占位用)
2)主发送数据,从发送数据。
3)主发送伪数据,从发送数据(主为了接收数据,必须空发数据才能启动接受)
4.初始化
1)设置主从模式 MASTER/SLAVE位
2)确定信息块大小SPICCR的SPICHAR3:0确定(1~16位)
3)确定SPI相位与极性
4)设置SPI波特率
SPI波特率=(1)LSPCLK/(SPIBRR+1) 3= (2)LSPCLK/4 0= 5.SPI FIFO:TXFIFO RXFIFO 最多16*16 bit 6.寄存器 SPICCR:SPI SW RESET 软件复位,配置前清零,恢复操作时置1,注:清零时,SPISTS.5,6,7被清除,SPI配置不变 配置SPI时 1)SPI SW RESET=0 2)配置SPI 3)SPI SW RESET=1 可以通过一下方法清除标志位 1)读SPIRXBUF 2)向SPI SW RESET 写0 3)复位系统 SPIFFTX SPIRST:0:复位SPI发送和接受通道,SPI寄存器配置不变 1:SPI FIFO能重新开始发送和接受,不影响SPI的寄存器位 TXFIFO RESET 0:复位FIFO指针,且保持在复位状态 1:重新使能FIFO操作
---------------------
作者:zhuangjianyu123
来源:CSDN
原文:https://blog.csdn.net/zhuangjianyu123/article/details/53411832
版权声明:本文为博主原创文章,转载请附上博文链接!