GD32F450 USB MSC 外部flash 每次插拔都要格式化
套用的官方内部SRAM做U盘的例程,W25Q64外部flash,格式化后读写正常,每次插拔都要格式化#define STORAGE_BLK_NBR 2048
#define STORAGE_BLK_SIZ 4096
static int8_t STORAGE_Read (uint8_t Lun,
uint8_t *buf,
uint32_t BlkAddr,
uint16_t BlkLen)
{
W25QXX_Read(buf, BlkAddr, BlkLen * STORAGE_BLK_SIZ);
return 0;
}
static int8_t STORAGE_Write (uint8_t Lun,
uint8_t *buf,
uint32_t BlkAddr,
uint16_t BlkLen)
{
W25QXX_Write(buf, BlkAddr, BlkLen * STORAGE_BLK_SIZ);
return 0;
}
每次插拔都要格式化,是什么地方出问题了吗 应该是文件格式不适配吧 应该程序那里没有处理对 是不是没有掉电保存的处理 文件系统不兼容会出现每次插拔都要格式化 如果外部Flash采用了一种与主机设备不兼容的文件系统格式。在使用USB MSC功能时,主机设备(如电脑)会尝试读取外部Flash的文件系统信息,如果无法识别或兼容外部Flash的文件系统,就会提示需要格式化 其实你要是用支持的格式就好了,如FAT32。 外部Flash损坏也会这样的 建议换个flash试试,是不是你的flash坏掉了啊 如果方便的话,建议检查外部Flash的硬件连接和状态,确保其正常工作 是不是你的USB MSC驱动问题? 有时,USB MSC驱动程序可能存在问题,导致主机设备无法正确读取外部Flash的文件系统信息。可以尝试更新或重新安装USB MSC驱动程序,以解决驱动相关的问题 可以用换个flash方式来看看,是flash的问题还是你的驱动问题 是插入USB的时候才给单片机上电的吗? 应该是程序有问题,调节调节上电时序
页:
[1]