Clear the flag register
Set the SDCLKCR register.
SDSIZE = Transfer data size
SDIMSK1 = 0000 FFFEh
SDIMSK2 = 0000 7F80h
Response end or
error occurred?
SDSTS1 = 0000 FFFEh Clear the flags.
SDARG = Argument field value
SDCMD = 0000 0011h
CMD17 (single block read)
issued
Error (communication error or timeout)
Read the SDRSP10 register Check the response.
SDIMSK1 = 0000 FFFBh
SDIMSK2 = 0000 7E80h
Enable the access end interrupt
Enable the BRE interrupt
Is the BRE flag 1 or
did an error occur?
SDSTS2 = 0000 FEFFh Clear the flags.
Read the amount of data set in the
SDSIZE.LEN[9:0] bits from the SDBUFR
register
Read data.
Access end?
SDSTS1 = 0000 FFFBh Clear the flags.
Error processing
(clear the interrupt flags)
No
Yes
No
Yes
No
Yes
Start
End
Error (communication error or timeout)