Description
Source
Call Graph
Start Line: 1098
unsigned char SD_ReadBlock(SdCard *pSd, unsigned int address, unsigned short nbBlocks, unsigned char *pData)
{
unsigned char error;
SANITY_CHECK(pSd);
SANITY_CHECK(pData);
SANITY_CHECK(nbBlocks);
if((pSd->state == SD_STATE_DATA)
&& ((pSd->preBlock + 1) == address)) {
#if defined(at91rm9200)
error = Cmd12(pSd);
if (error) {
return error;
}
#else
TRACE_DEBUG("SD_ReadBlock:ContinuousRead\n\r");
error = ContinuousRead(pSd, nbBlocks, pData, SD_ADDRESS(pSd,address));
pSd->preBlock = address + (nbBlocks-1);
#endif
}
else {
error = MoveToTransferState(pSd, address, nbBlocks, pData, 1);
}
return error;
}