SD卡槽上有一个检测开关,可以通过检测开关的状态识别是否有SD卡接入,当接入SD卡时,重新初始化。
应该是初始化的问题把,每次使用之前都要初始化,才能用,不拔出多次挂载可以用是因为开机初始化过一次,SD 一直没有断电,可以初始化后一直有效。
拔掉再插入,还是需要初始化的,不然不能用,看看代码有没有检测插入的部分,有的话把初始化代码也加进去,没有的话,自己添加检测代码添加初始化代码,重新初始化一下,就好。
这种要实现一下SD卡的热插拔,每次用fatfs操作SD卡时先尝试一下初始化,如果不成功说明没有SD卡
此外SD卡槽有个检测脚的,可以找个多余的IO接上
如果程序不支持sd卡热插拔的话的确会出现这种情况,用sd卡的插拔外部中断引脚检测,如果出现热插拔中断就重新初始化一次。