unsigned char SDSPI_Read(SdSpi *pSdSpi, unsigned char *pData, unsigned int size) { unsigned char error; // MOSI should hold high during read, or there will be wrong data in received data. memset(pData, 0xff, size); error = SDSPI_PDC(pSdSpi, pData, size); while(SDSPI_IsBusy(pSdSpi) == 1); if( error == 0 ) { return 0; } else { TRACE_DEBUG("PB SDSPI_Read\n\r"); return 1; } }