IIC和SPI简单使用认识。
IIC使用地址识别实现传输设备选定,SPI使用片选信号实现传输设备选定。
IIC半双工,SPI全双工。
- SPI
SPI接口一般使用4条线通信:
- MISO 主设备数据输入,从设备数据输出。
- MOSI 主设备数据输出,从设备数据输入。
- SCLK时钟信号,由主设备产生。
- CS从设备片选信号,由主设备控制。
spi.c
- SPI2_Init函数
PB13–>SPI2 SCK
PB14–>SPI2 MISO
PB15–>SPI2 MOSI
SPI2 CS片选信号软件触发使用
第四个参数 SPI_CPOL 用来设置时钟极性
第五个参数 SPI_CPHA 用来设置时钟相位
SPI_CPOL 、SPI_CPHA根据从机的相位和极性 配置 主机的时钟相位和极性。此处根据w25qxx配置。
第七个参数 SPI_BaudRatePrescaler设置 SPI 波特率预分频值也就是决定 SPI 的时钟的参数
设置默认初始化时钟速率最小。若设置高速,则将分频系数减小。
第八个参数 SPI_FirstBit设置数据传输顺序是 MSB 位在前还是 LSB 位在前
LSB:least significant bit 表示二进制数据的最低位
MSB : most significant bit 表示二进制数据的最高位
第九个参数 SPI_CRCPolynomial 是用来设置 CRC 校验多项式
大于 1 即可
- SPI2_SetSpeed 函数
来设置 SPI2 的速度
- SPI2_ReadWriteByte 函数
数据发送和接收来实现的
- 下面介绍 SPI2_ReadWriteByte 函数 如何读写