第一种,也是最常见的一种,一般是通过复用SDCLK检测来检测SD卡有没有插入
检测到插入后拉低SDCLK
static gpio_t sddet_gpio;
void sdcard_detect_init(void)
{
gpio_t *g = &sddet_gpio;
u8 io_num = xcfg_cb.sddet_iosel;
bsp_gpio_cfg_init(g, io_num);
if (!io_num) {
return;
} else if (io_num == IO_MUX_SDCLK) {
SD_MUX_DETECT_INIT();
} else if (io_num <= IO_MAX_NUM) {
g->sfr[GPIOxDE] |= BIT(g->num)