Datasheet
559
SAM9261 [DATASHEET]
Atmel-6062O-ATARM-SAM9261-Datasheet_21-Jun-16
The following flowchart shows how to manage a multiple write block transfer with the PDC (see Figure 34-10).
Polling or interrupt method can be used to wait for the end of write according to the contents of the Interrupt Mask
Register (MCI_IMR).
Figure 34-10. Multiple Write Functional Flow Diagram
Note: It is assumed that this command has been correctly sent (see Figure 34-7).
Send SELECT/DESELECT_CARD
command
(1)
to select the card
Send SET_BLOCKLEN command
(1)
Set the PDCMODE bit
MCI_MR |= PDCMODE
Set the block length
MCI_MR |= (BlockLength << 16)
Configure the PDC channel
MCI_TPR = Data Buffer Address to write
MCI_TCR = BlockLength/4
Send WRITE_MULTIPLE_BLOCK
command
(1)
Read status register MCI_SR
Poll the bit
BLKE = 0?
Yes
No
MCI_PTCR = TXTEN
Poll the bit
NOTBUSY = 0?
Yes
RETURN
No
Send STOP_TRANSMISSION
command
(1)