DSTATUS disk_status (BYTE pdrv) /* Physical drive number (0..) */ { switch (pdrv) { case DRV_SD0 : if (SD_GET_CARD_CAPACITY(SD_PORT0) == 0) return STA_NOINIT; break; case DRV_SD1 : if (SD_GET_CARD_CAPACITY(SD_PORT1) == 0) return STA_NOINIT; break; } return RES_OK; }
int SD_Open_(uint32_t cardSel) { // power (H.2) SYS->GPH_MFPL = (SYS->GPH_MFPL & ~(SYS_GPH_MFPL_PH2MFP_Msk)); PH->MODE = (PH->MODE & ~GPIO_MODE_MODE2_Msk) | ( GPIO_MODE_OUTPUT << GPIO_MODE_MODE2_Pos); PH2 = 0; SD_Open(cardSel); SD_Probe(cardSel & 0x00ff); return SD_GET_CARD_CAPACITY(SD_PORT0); }