Files
stm32f407ve_black/BSP/Inc/bsp_w25qxx.h
2026-01-29 15:08:30 +08:00

86 lines
2.3 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : bsp_w25qxx.h
* @brief : W25QXX 闪存芯片的 BSP 层头文件
******************************************************************************
*/
/* USER CODE END Header */
#ifndef BSP_W25QXX_H
#define BSP_W25QXX_H
#include "w25qxx.h"
#include "hal_spi.h"
#include "hal_gpio.h"
/**
* @brief W25QXX 芯片选择引脚配置
*/
#define W25QXX_CS_PORT HAL_GPIO_PORT_B
#define W25QXX_CS_PIN HAL_GPIO_PIN_0
/**
* @brief W25QXX SPI 实例
*/
#define W25QXX_SPI_INSTANCE HAL_SPI_INSTANCE_1
/**
* @brief 初始化 W25QXX 闪存芯片
* @retval 初始化成功返回 true失败返回 false
*/
bool bsp_w25qxx_init(void);
/**
* @brief 获取 W25QXX 设备信息
* @param info 指向设备信息结构体的指针
* @retval 成功返回 true失败返回 false
*/
bool bsp_w25qxx_get_device_info(w25qxx_device_info_t *info);
/**
* @brief 从 W25QXX 闪存芯片读取数据
* @param address 起始读取地址
* @param data 存储读取数据的缓冲区指针
* @param size 要读取的数据大小
* @retval 读取成功返回 true失败返回 false
*/
bool bsp_w25qxx_read(uint32_t address, uint8_t *data, uint32_t size);
/**
* @brief 向 W25QXX 闪存芯片写入数据
* @param address 起始写入地址
* @param data 要写入的数据缓冲区指针
* @param size 要写入的数据大小
* @retval 写入成功返回 true失败返回 false
*/
bool bsp_w25qxx_write(uint32_t address, const uint8_t *data, uint32_t size);
/**
* @brief 擦除 4KB 块
* @param address 块内的地址
* @retval 擦除成功返回 true失败返回 false
*/
bool bsp_w25qxx_erase_block_4kb(uint32_t address);
/**
* @brief 擦除 32KB 块
* @param address 块内的地址
* @retval 擦除成功返回 true失败返回 false
*/
bool bsp_w25qxx_erase_block_32kb(uint32_t address);
/**
* @brief 擦除 64KB 块
* @param address 块内的地址
* @retval 擦除成功返回 true失败返回 false
*/
bool bsp_w25qxx_erase_block_64kb(uint32_t address);
/**
* @brief 擦除整个芯片
* @retval 擦除成功返回 true失败返回 false
*/
bool bsp_w25qxx_erase_chip(void);
#endif /* BSP_W25QXX_H */