SPI简述

SPI是器件的比较常用的通信协议。

 

 

SPI总共有四根线

   SS:片选线,每个设备都和主机MCU有一条单独片选线相连,片选线拉低意味主机输出,也就是说一个主机可以和多个从机相连,只需要有足够多的片选线。

   SCK:时钟线,SPI捕获数据是在时钟的跳变沿(可以设置是在奇数沿还是在偶数沿)

   MOSI:输出线

   MISO:输入线 

 

SPI四种模式:这四种模式靠时钟极性(CPOL相位(CPHA决定。CPOL=0,时钟在空闲为低电平,CPOL=1,时钟在空闲时为高电平。CPHA0,奇数边沿采样,CPHA1,偶数边沿采样。2*24,故有四种模式。

 

 

 

SPI主机和从机,不论读写还是发送总是主机主动开始发起通信。

 

底层的SPI读写驱动都是读和写封装在一起,先读后写,读写和接收用同一个函数搞定。如下:

 

 

 

Stm32的硬件SPIDR数据寄存器,你把数据放到发送DR里,硬件就会自动生成波形。同样,想要读数据的话就去读取接受DR就行了,而不必考虑波形

 





posted @ 2016-03-08 20:19  DChipNau  阅读(573)  评论(0编辑  收藏  举报