This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430FR5992: Fix SIMO pin to either High or Low after SPI communication

Genius 5635 points
Part Number: MSP430FR5992
Other Parts Discussed in Thread: MSP-EXP430FR5994

Hi experts,

Is there any way to fix SIMO pin to either High or Low after communication is executed, with the pin function keeped to SPI(eUSCI)?

From the following thread it is mentioned that it depends on PxOUT and PxREN, but as a result of using MSP-EXP430FR5994 it does not seem to depend on the above register(PxOUT and PxREN) and the last bit of the transmitted data.
Also, it could not be fixed by using external pull-down/pull-up resistors.
https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1181259/msp430fr5964-after-spi-communication-pin-condition

Best regards,
O.H

  • The eUSCI (like many/most SPI units) has no notion of a "transaction", so (a) the master always drives MOSI/SIMO (b) there's no state which is "after communication is executed".

    I expect you'll need to turn off the SIMO pin's alternate function (PSEL) setting, which will let the REN/external resistor work.

  • The idle state of SIMO is determined by UCCKPL.

  • Hello, 

    Thank you for your reply.

    Additional experiments revealed the following.

    • The setting values of UCCKPL and UCCKPH does not affect the state after communication.
    • The setting values of UCMSB affect the state after communication.
      • When UCMSB = 0, it depends on the LSB data.
        Example: After sending 0xF0, SIMO remains Low. And 0x0F, SIMO remains High.
      • When UCMSB = 1, it depends on the MSB data.
        Example: After sending 0xF0, SIMO remains High. And 0x0F, SIMO remains Low.

    From the above results, are the following perceptions correct?
    The state of the SIMO pin after communication ends is automatically determined by the UCMSB setting and the data transmitted, and cannot be arbitrarily controlled High/Low.

    Best regards,
    O.H

  • Hi O.H.

    You observations look to be correct. As Bruce said, you can reconfigure this pin's function if they want to drive it in some other way between transactions. 

    Best Regards,
    Brandon Fisher

**Attention** This is a public forum