This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3200:如何卸载/重新安装 SD 卡

Guru**** 2782445 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/981424/cc3200-how-to-unmount-remount-sd-card

器件型号:CC3200

您好!
我正在尝试构建一个简单的应用程序、每次将 SD 卡插入插槽时、我都能够重新安装 SD 卡。
这是我每次检测到中断时调用的函数。

void vSdDetected ()
{
int enRes;
enRes = f_mount (&XFS、"0"、1);
if (enRes = FR_OK)
{
vPrintf ("SD 卡、mount\r\n");
map_UtilsDelay (200000);//卸
载前延迟//离开之前的延迟("vemr"、enrf



(= 0
)、enrf)、enrf (= nF



);vunmount (0)、enrf (= enrf)、enrf)、enrf (= nF (enrf)、enrf)、enrf (= unmount (nF)、enrf)、enrf)

}
否则
{
vPrintf ("SD 卡、Err mount %d\r\n"、enRes);
}

每次重新插入 SD 卡时、都会出现安装错误(1)。
您能告诉我卸载 SD 卡的正确方法是什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    为了解决此问题、我必须将 diskio.c 中的 g_sdisk 变量重置为其默认值、
    这是执行该操作的函数调用。

    void disk_reset ()
    {
    g_sdisk.ucCardType =card_type_unknown;
    g_sdisk.ulVersion =card_version_1;
    g_sdisk.ulCapClass =card_cap_class_sdSC;
    g_sdisk.ulNofBlock =0;
    g_sdisk.ulBlockSize =0;
    G_sdisk.bStatus =STA_NOINIT;
    g_sDisk.usRCA =0;
    } 

    此主题帮助我:  

    如果你们有任何其他解决方案、或者你们有更好的方法来实现、请随时发表您的想法。
    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Habib、

    我很高兴您能正常工作。

    BR、