86 lines
2.3 KiB
C
86 lines
2.3 KiB
C
/* 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 */ |