25.3.2.1.2 Normal Mode
In Normal mode, the system is single-buffered in the
transmit direction and double-buffered in the receive direction. This
influences the data handling in the following ways:
- New bytes to be sent cannot be written to the Data register (SPIn.DATA) before the entire transfer has completed. A premature write will cause corruption of the transmitted data, and the hardware will set the Write Collision Flag (WRCOL flag in SPIn.INTFLAGS).
- Received bytes are written to the First Receive Buffer register immediately after the transmission is completed.
- The First Receive Buffer register has to be read before the next transmission is completed or data will be lost. This register is read by reading SPIn.DATA.
- The Transmit Buffer register and Second Receive Buffer register are not used in Normal mode.
After a transfer has completed, the Interrupt Flag will be set in the Interrupt Flags register (IF flag in SPI.INTFLAGS). This will cause the corresponding interrupt to be executed if this interrupt and the global interrupts are enabled. Setting the Interrupt Enable (IE) bit in the Interrupt Control register (SPIn.INTCTRL) will enable the interrupt.