SD卡检测插拔问题

2019-07-21 03:47发布

如题 我是  用这个封装的SD卡槽  我测了一下 SD没插时 最边的那个脚 是不与外壳通的 SD卡插入时 最边的那个脚与外壳导通 但都是低电平啊 有什么好方法检测热插拔吗 程序有检测的吗?谢谢大家!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
正点原子
1楼-- · 2019-07-21 05:04
[mw_shl_code=c,true]//读取当前卡状态 //pcardstatus:卡状态 //返回值:错误代码 SD_Error SD_SendStatus(uint32_t *pcardstatus) { SD_Error errorstatus = SD_OK; if(pcardstatus==NULL) { errorstatus=SD_INVALID_PARAMETER; return errorstatus; } SDIO_Send_Cmd(SD_CMD_SEND_STATUS,1,RCA<<16); //发送CMD13,短响应 errorstatus=CmdResp1Error(SD_CMD_SEND_STATUS); //查询响应状态 if(errorstatus!=SD_OK)return errorstatus; *pcardstatus=SDIO->RESP1;//读取响应值 return errorstatus; } //返回SD卡的状态 //返回值:SD卡状态 SDCardState SD_GetState(void) { u32 resp1=0; if(SD_SendStatus(&resp1)!=SD_OK)return SD_CARD_ERROR; else return (SDCardState)((resp1>>9) & 0x0F); }[/mw_shl_code] SD_GetState,如果返回SD_OK,说明SD卡在位。
正点原子
2楼-- · 2019-07-21 06:24
这个你得实际哪个样品测试下,那就很容易确认了。
不过我现在用纯软件的方法检测SD卡是否在位。
石头
3楼-- · 2019-07-21 06:58
 精彩回答 2  元偷偷看……
石头
4楼-- · 2019-07-21 08:37
回复【2楼】正点原子:
---------------------------------
原子哥 软件怎么弄啊
石头
5楼-- · 2019-07-21 11:09
回复【5楼】正点原子:
---------------------------------
我在if 和 else if 后加了打印信息,有卡的时候 是好使的  但没卡的时候 根本没反应 没有打印信息 想问一下 如果没卡的时候 f_mount(0,&fs)这句话都过不了吧?
正点原子
6楼-- · 2019-07-21 16:24
回复【6楼】石头:
---------------------------------
你仿真看看死在哪里?

一周热门 更多>