STM32F103固件库编程(7)—SPI

STM32F103固件库编程(7)—SPI

(一)SPI硬件

在这里插入图片描述SPI architecture(SPI 架构)
在这里插入图片描述在这里插入图片描述

(二)SPI协议层

在这里插入图片描述在这里插入图片描述

(三)SPI通讯过程

在这里插入图片描述1.当发送完一帧数据的时候,“状态寄存器SR”中的“TXE标志位”会被置1,表示传输完一帧,发送缓冲区已空;类似地,当接收完一帧数据的时候,“RXNE标志位”会被置1,表示传输完一帧,接收缓冲区非空;
2.等待到“TXE标志位”为1时,若还要继续发送数据,则再次往“数据寄存器DR”写入数据即可;等待到“RXNE标志位”为1时,通过读取“数据寄存器DR”可以获取接收缓冲区中的内容。

(四)初始化SPI_InitTypeDef

typedef struct
{
  uint16_t SPI_Direction;    
  uint16_t SPI_Mode;         
  uint16_t SPI_DataSize;     
  uint16_t SPI_CPOL;         
  uint16_t SPI_CPHA;         
  uint16_t SPI_NSS; 
  uint16_t SPI_BaudRatePrescaler; 
  uint16_t SPI_FirstBit;           
  uint16_t SPI_CRCPolynomial;     
}SPI_InitTypeDef;

(五)寄存器地址映象

在这里插入图片描述

(六)FLASH的指令和时序图

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述举个例子
在这里插入图片描述

(七)代码

(八)问题

flash多端口输出和快速模式? 看手册

发布了35 篇原创文章 · 获赞 4 · 访问量 4025

猜你喜欢

转载自blog.csdn.net/qq_42589654/article/details/104192865