stm软件模拟SPI通信


相较于stm32硬件SPI通信,软件SPI相较麻烦些许。但是使用软件模拟SPI通信过程,一是有助理解SPI的通讯时序和协议,二是方便今后的移植。


参考文章:
[1] STM32F10x_SPI(硬件接口 + 软件模拟)读写Flash(25Q16)
[2] STM32 软件模拟SPI时序驱动NRF24L01
[3] SPI总线的原理与Verilog实现
[4] 模拟SPI协议时序


一、SPI通信协议

1)协议

上升沿发送数据: 在低电平变为高电平之前就要把要发送的数据准备好
即:

step1:    SCK = 0;
step2:    准备数据
step3:    SCK = 1;

下降沿接收数据: 在高电平变成低电平之后,再去接收数据,否则接收的表示对应的字节
即:

SCK = 1;
for(int i = 0; i < 8;i++){
	step1:SCK = 0;
	step2:读取数据;
	step3:SCK = 1;
}

二、软件模拟SPI

你可能感兴趣的:(STM32单片机开发)