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 0018h
CMD24 (single
block write) issued
Error (communication error or timeout)
Read the SDRSP10 register Check the response.
SDIMSK1 = 0000 FFFBh
SDIMSK2 = 0000 7D80h
Enable the access end interrupt
Enable the BWE interrupt
Is the BWE flag 1 or
did an error occur?
SDSTS2 = 0000 FDFFh Clear the flags.
Write the amount of data set in the
SDSIZE.LEN[9:0] bits from the SDBUFR
register
Write 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)