I need a second serial async input channel on the MSP430G2553 and would like to use the SPI USCI to do this.
Is the USCI SPI baud rate stable enough to do this at 300 baud, 2400 baud or 9600 baud? I am currently using the 8 MHz clock.
Is there any other option that can save me from bit-banging?
Might it be possible to do asynchronous receive by starting the clock-out when the start-bit is received?
My current thinking for Rx on the SPI at 300 baud is as follows:
- start bit interrupt disable
- wait for 1/2 bit
- do Rx enable
- Rx interrupt
- start bit interrupt enable
One can use 10 bit receive on some of the other members in the family that contains a SPI.
Please note that this is a similar question to: Can I use SPI for asynchronous serial output? but the answer is much more complex because the SPI clock output must be aligned with the Rx bitstream.
Only half duplex is possible if you want to do Tx the same way.