June 17th
Silver bullets!
I'm not a fan of Software delay loops and I am also glad to see that Code Composer studio is also not a fan of this horrible practice and gives warnings about their use.
I only use them for getting stuff done in a hurry.
On the MSP430, SPI Chip Select signaling is done independently from its SPI data transmission engines.
This means that we need a method synchronising Chip Select signals with the state of the data transmission engine.
For my SPI driver, I wanted to make it speed independent so I have made use of the following for a polling version;
// Wait until eUSCI becomes inactive
while (UCA1STATW & UCBUSY);
This details about this USCI status bit is documented in SLAU272A on page 457.
This works a treat!
Given more time, I would consider replacing this polling process with an even less CPU intensive and power saving Interrupt Service Routine.