/* 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 */