简介
SPI 的全称是"Serial Peripheral Interface", 意为串行外围接口。SPI 接口主要应用在 EEPROM、FLASH、 实时时钟、 AD 转换器, 还有数字信号处理器和数字信号解码器之间。 SPI是一种高速的, 全双工, 同步的通信总线。主要有四根线,NSS,CLK,MISO,MOSI NSS:片选(常常为设备资源有限,外挂设备多个时使用) MISO:master in salver out(主设备输入,从设备输出) MOSI:master out salver in(主设备输出,从设备输入) CLK:时钟(主设备提供) 主要特点:同时发送和接收数据。当主要为写发送数据时,接收到的数据可以直接抛弃,当接收数据时需要发送一个空数据来引发从设备的数据传送。通信流程
通过上图可以看到,SPI是通过设备的移位寄存器传送数据的。这也说明了该设备的特点(发送接收同时进行)。可以看成是一个环形的东西,长度不变,当移动头的时候尾部也要相应的移动。
配置
时钟极性(CPOL):配置空闲时的电平状态。0:低电平 1:高电平 相位极性(CPHA):串行同步时钟的第几个跳变沿开始数据采样。0:第一个 1:第二个 时钟:SPI1是挂载在APB2总线上的SCK 线的时钟信号, 由波特率发生器根据“ 控制寄存器 CR1”中的 BR[0:2]位控制, 该位是对 fpclk 时钟的分频因子, 对 fpclk 的分频结果就是 SCK 引脚的输出时钟频率。fpclk该挂载总线的时钟频率。片选作用
SPI从设备是否被选中的,只有片选信号为预先规定的使能信号时(高电位或低电位),对此 SPI 从设备的操作才有效。