STM32学习013_SPI串行外设接口通信
扫描二维码
随时随地手机看文章
SPI(Serial Periphreal Iterface-串行外设接口)总线系统是一种同步串行外设接口,使MCU与各种外围接口以串行方式进行通讯交换信息,SPI有三个寄存器,控制寄存器SPCR,状态寄存器SPSR,数据寄存器SPDR,外围设备包括FlashRam,网络控制器,LCD显示驱动器,AD转换器和MCU etc.接口一共用4条线,串行时钟线(SCLK),主机输入/从机输出数据线MISO,主机输出/从机输入数据线MOSI,和低电平有效的从机选择线NSS.
SPI接口主要应用在EEPROM,flash 实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。
数据传输的过程:在主器件的移位脉冲下,数据按位传输,低位在前,高位在后,为全双工通信,整体传输速度比IIC要快,速度可达几Mbps.
优点,信号线少,协议简单,相对数据速率高。缺点:没有指定的流控制,没有应答机制,确认是否接收到数据。
SPI有4种工作模式,各个工作模式的不同在于SCLK 的不同,具体工作由CPOL,CPHA决定。
使用SPI通讯,参考方法如下:
第一步:设置主,从模式,设置MSTR ,SPE(使能位);
第二步:设置(时钟)相位和极性,
第三步:设置数据帧的格式;(8位数据位,1位停止位,设置高位MSB在先,还是低位(LSB)在先);