If I set UC7BIT of UCAxCTL - my UART will now be in 7 bit mode - so the MSB of any 8 bit character I put in gets dropped - and the MSB of any 8 bit character I extract will always be 0.
SLAU208M: The receive-data buffer is user accessible and contains the last received character from the receive shift register. Reading UCAxRXBUF resets the receive-error bits, the UCADDR or UCIDLE bit, and UCRXIFG. In 7-bit data mode, UCAxRXBUF is LSB justified and the MSB is always reset. The transmit data buffer is user accessible and holds the data waiting to be moved into the transmit shift register and transmitted on UCAxTXD. Writing to the transmit data buffer clears UCTXIFG. The MSB of UCAxTXBUF is not used for 7-bit data and is reset
7 Bit mode lends its self find to unsigned ASCII data because there are only 128 possible characters and you are taking an always unsigned signed character and throwing out the sign bit. This makes your data rate baud * 7/9 instead of baud * 8/10 - assuming 8N1 and 7N1.
However, I am moving raw binary data. How do people in my position commonly move data using 7 bit mode - I am only asking cause I have some software that supports the option and I am not sure how they do it if for some reason I wanted to interface with it that way.
Would I accumulate 8 characters of data, concatenate them together discarding the MSB (which is always 0), and then extract out 7 characters? Thus the LSB of the first 8 bit character would get sent at the MSB on the next 7 bit character, and so on?
This is mostly a curiosity if anyone has heard about it - I can't imagine needing to actually do this.