unsigned char MCI_CheckBusy(Mci *pMci) { AT91S_MCI *pMciHw = pMci->pMciHw; unsigned int status; // Enable MCI clock MCI_Enable(pMci, ENABLE); status = READ_MCI(pMciHw, MCI_SR); // TRACE_DEBUG("status %x\n\r",status); if(((status & AT91C_MCI_NOTBUSY)!=0) && ((status & AT91C_MCI_DTIP)==0)) { // Disable MCI clock MCI_Enable(pMci, DISABLE); return 0; } else { return 1; } }