/** * @file card_flash_impl.h * @brief 卡号白名单:EEPROM 管理信息 + 外部 SPI Flash 槽位存储(与 fault_flash_impl 同类策略) * * 对外业务接口见 `app_fatfs/fatfs_card.h`(card_init / card_add / card_find 等)。 * 本头文件提供介质层结构说明,便于调试或扩展。 */ #ifndef CARD_FLASH_IMPL_H #define CARD_FLASH_IMPL_H #ifdef __cplusplus extern "C" { #endif #include "main.h" #include "publicdata/type.h" #define CARD_MNG_HEAD 0x5AA8u /** EEPROM 中的卡管理块(地址 EEPROM_ADDR_CARD_MNG) */ typedef struct { U16_T u16_head; U16_T u16_cardCnt; U16_T u16_reserved; } S_CARD_MNG; /** * Flash 单槽有效载荷 46 字节(槽位总占用 48:1 字节 RECORD_HEADER + 46 + 1 字节 CRC 低 8 位) * - amount_milli:金额,单位 0.001 元(与 API 中 balance「分」换算:毫元 = 分 * 10) * - rsv[8]:前 4 字节 create_time,后 4 字节 last_use_time(Unix 秒,小端),与 CardInfo 时间字段对应 */ typedef struct __attribute__((packed)) { U8_T card_num[32]; U32_T amount_milli; U16_T status; U8_T rsv[8]; } CARD_FLASH_BODY_T; #ifdef __cplusplus } #endif #endif /* CARD_FLASH_IMPL_H */