STM32_SPI

本文详细介绍了STM32的SPI配置,包括GPIO设置、SPI模式初始化以及Flash的操作,如读取厂商ID、擦除和写入数据。通过SPI初始化、发送控制命令及数据收发,实现了与SPI-FLASH的有效通信。在写操作前需先进行擦除并发送写使能命令。
摘要由CSDN通过智能技术生成

SPI_GPIO_Config

GPIO引脚的复用位置设置:
SPI_SCK,SPI_MOSI,SPI_MISO,配置成推挽复用输出 SPI_NSS通用推挽输出,由于PA4使用的软件配置。
如:在宏定义中:这里写代码片#define SPI_FLASH_CS_HIGH() GPIO_SetBits(GPIOA,GPIO_Pin_4);
#define SPI_FLASH_CS_HIGH() GPIO_SetBits(GPIOA,GPIO_Pin_4);

SPI模式的初始化
(1)SPI_Mode:STM32的SPI设备课配置成SPI_Mode_Master或者SPI_Mode_Slave
(2)SPI_DataSize:SPI通信数据帧的大小为8位或者16位
(3)SPI_CPOL和SPI_CPHA:配置SPi的时钟极性(CPOL)和时钟相位(CPHA),这两个配置影响SPI的通信模式,该设置符合通信设备的要求。CPOL分别可以取SPI_CPOL_High(SPI通信空闲时SCK为高电平)和SPi_CPOL_Low(SPI通信时SCK为低电平)。CPHA则可以去SPI_CPHA_1Edgr(在SCK的技术边沿进行采集数据)和SPI_CPHA_2Edge(在SCK的偶数边沿进行数据采集)。
flash支持SPI的模式0和模式3通信。在SPI空闲时,SCK为低电平,奇数边沿采样(模式0);
也可以在SPI空闲时,SCK为高电平,偶数边采样(模式3)。即无论CPOL的状态是什么,FLAS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值