请教一下,STM32L4 使用FATFS+低功耗停止模式,退出停止模式后,FATFS不工作
求救,使用STM32+sd+fatfs搞了一个低功耗采集的仪表,定时唤醒采集,空闲时进入低功耗STOP模式, 从停止模式唤醒后, FATFS出错不工作 串口等其他功能正常试了很多方法 如: 进入低功耗前卸载文件系统 之后再重新初始化,重新挂载等方式 然后卡在fmount, 可以给点参考意见吗?
retSD = f_mount(NULL, "0:", 1);
if(retSD == 0)
printf("f_unmout\n");
else printf("f_unmouterror\n");
printf("准备进入停止模式\n");
MyIWDG.FeedDog();
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON ,PWR_SLEEPENTRY_WFI);
SystemClock_Config();
//
HAL_Init();
//HAL_ResumeTick();
MX_GPIO_Init();
MX_DMA_Init();
MyIWDG.FeedDog();
printf("已经退出停止模式\n");
MX_SDMMC1_SD_Init();
MX_FATFS_Init();
printf("初始化完成\n");
MyIWDG.FeedDog();
retSD = SdMount();//挂载文件系统退出stop模式卡在这 下面信息也不打印
printf("SdMountretSD=%d\n",retSD);
if(retSD == 0)
printf("sdmount_success\n");
else printf("sdmount_serror\n");
唤醒后重新配置系统时钟就行,外设时钟一般不用重新初始化。 试过只重新配置系统时钟出错采想着重新初始化外设;进入低功耗前要不要关闭文件、卸载文件系统 ,唤醒后再重新挂载、以及打开文件, 我现在一个个试了,唤醒后,无论是挂载文件系统还是打开文件 都是返回FR_DISK_ERR,要么直接卡死 ; 唤醒后直接写的话(进入低功耗模式前不关闭文件,也不卸载文件系统,) 则返回FR_INVALID_OBJECT, 这个问题搞了两三天了
页:
[1]