打印
[STM32F4]

基于HAL库的SPI读FLASH

[复制链接]
1014|43
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
基于STM32F407利用HAL库使用SPI对W25Q128进行读写实验。

使用特权

评论回复
沙发
原来是wjc|  楼主 | 2021-2-20 22:30 | 只看该作者
电路图如下:PI0使能,PC2MISO,PI3MOSI,PI1CLK;

使用特权

评论回复
板凳
原来是wjc|  楼主 | 2021-2-20 22:32 | 只看该作者
对COBEMX进行初始化:

使用特权

评论回复
地板
原来是wjc|  楼主 | 2021-2-20 22:33 | 只看该作者
根据芯片手册配置传输模式:

使用特权

评论回复
5
原来是wjc|  楼主 | 2021-2-20 22:35 | 只看该作者

使用特权

评论回复
6
原来是wjc|  楼主 | 2021-2-20 22:37 | 只看该作者

使用特权

评论回复
7
原来是wjc|  楼主 | 2021-2-20 22:38 | 只看该作者

使用特权

评论回复
8
原来是wjc|  楼主 | 2021-2-20 22:39 | 只看该作者
轮询发送数据

使用特权

评论回复
9
原来是wjc|  楼主 | 2021-2-20 22:40 | 只看该作者
KILE建立FLASH底层驱动.C文件

使用特权

评论回复
10
原来是wjc|  楼主 | 2021-2-20 22:44 | 只看该作者

使用特权

评论回复
11
原来是wjc|  楼主 | 2021-2-20 22:47 | 只看该作者

使用特权

评论回复
12
原来是wjc|  楼主 | 2021-2-20 22:47 | 只看该作者
根据芯片手册编写函数:
读一个字节:W25X_SPIRWByte

/***************读一个字节****************/
uint8_t W25X_SPIRWByte(uint8_t TxData)
{
    uint8_t RxData;
/*硬件通道,发送的数据,接收的数据,数据长度,超时时间*/
    HAL_SPI_TransmitReceive(&hspi2, &TxData, &RxData, 1, 0xff);
    return RxData;
}

使用特权

评论回复
13
原来是wjc|  楼主 | 2021-2-20 22:51 | 只看该作者

使用特权

评论回复
14
原来是wjc|  楼主 | 2021-2-20 22:54 | 只看该作者

使用特权

评论回复
15
原来是wjc|  楼主 | 2021-2-20 22:54 | 只看该作者
芯片使能配置
/****************使能CS引脚******************/
#define FLASH_CS_Pin         GPIO_PIN_0
#define FLASH_CS_GPIO_Port   GPIOI
#define FLASH_CS_SET()       HAL_GPIO_WritePin(FLASH_CS_GPIO_Port, FLASH_CS_Pin, GPIO_PIN_SET)
#define FLASH_CS_RESET()     HAL_GPIO_WritePin(FLASH_CS_GPIO_Port, FLASH_CS_Pin, GPIO_PIN_RESET)

使用特权

评论回复
16
原来是wjc|  楼主 | 2021-2-20 22:55 | 只看该作者
芯片写使能:void W25X_WriteEnable()

使用特权

评论回复
17
原来是wjc|  楼主 | 2021-2-20 22:56 | 只看该作者

#define   Write_Enable   0x06  //擦除指令

使用特权

评论回复
18
原来是wjc|  楼主 | 2021-2-20 22:57 | 只看该作者

使用特权

评论回复
19
原来是wjc|  楼主 | 2021-2-20 22:57 | 只看该作者

/***************flash写使能****************/
void W25X_WriteEnable()
{
    FLASH_CS_RESET();//CS拉低使能芯片
    W25X_SPIRWByte(Write_Enable);//写入指令
    FLASH_CS_SET();
}

使用特权

评论回复
20
原来是wjc|  楼主 | 2021-2-20 22:58 | 只看该作者
芯片读取状态等待:W25X_WaitBusy()

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

76

主题

978

帖子

0

粉丝