hi RF,
All that the d/s waveform is showing is that the SD0 line remains in the state of the last bit 0 transferred.
Note also that at the Start [ the greyed SD0] is shown as being indeterminate, whatever the last state was.
My reading of spec and timing diagrams on what's happening:
Starting from the first sent bit of the buffer, the last SCK edge (CKE = 1) means the final bit of 8 has already been sent out from the SSPSR shift-register/buffer to the pin and the final slave bit of 8 should already be in it from the input pin , if it latches new data in and out at that point then the first to send bit from the next 8 bits of data could be on the output pin.
Most sdcards work with mode 0,0 (CKP =0, CKE =1)
bit 8 CKE: SPIx Clock Edge Select bit(1)
1 = Serial output data changes on transition from active clock state to Idle clock state (see bit 6)
0 = Serial output data changes on transition from Idle clock state to active clock state (see bit 6)
bit 6 CKP: Clock Polarity Select bit
1 = Idle state for clock is a high level; active state is a low level
0 = Idle state for clock is a low level; active state is a high level
Read the wiki explanation....
CHPA = CPLO = 0..
The data is read on the rising edge and propagated on the falling edge... Propagated means written / transmitted..
You do know that SPI is a circular buffer? As far as we are concerned, we really only need to know when the buffer is read...
I have re-read the entire thread.... I see what you need to know.... I thought your confusion was the SPI module reading the buffer.... As the last post ( hopefully explains ), the SD0 is sampled first, then sent/propagated... You don't need to know about the propagation... It's internal....