#ifndef FLASH_H #define FLASH_H #include "stm32f1xx_hal.h" #include // 提供 int8_t 定义 #define HOST_MAC_FLASH_ADDR 0x0800F400 #define MAGIC_NUMBER 0xA5A5A5A5 // 自定义签名 typedef struct { uint32_t magic; // 签名,例如 0xA5A5A5A5 char mac[13]; // MAC 地址字符串(12字符 + '\0') // 可以扩展其他字段... } FlashData_t; /** * @brief 保存 MAC 字符串到 Flash(使用固定地址 HOST_MAC_FLASH_ADDR) * @param mac_str MAC 字符串(长度不超过12) * @retval 0 成功,-1 失败 */ uint8_t Save_MAC_To_Flash(char *mac_str); /** * @brief 从 Flash 加载 MAC 字符串(使用固定地址 HOST_MAC_FLASH_ADDR) * @param mac_out 输出缓冲区(至少13字节) * @retval 0 成功,-1 无有效数据 */ uint8_t Load_MAC_From_Flash(char *mac_out); #endif