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.

MSP430FR6989: What happens when a port with activated selection registers will be set again

Part Number: MSP430FR6989

Hi,

We see some strange behaviour and just wanted confirm.

We have a port. lets say 9.0. Both selection registers are set, the so called "super tri state" mode. The other registers for this pin are Output Low, no pull-Up. What happens now, when I will write again both selection registers? Does anything happen in the hardware? 

Kind Regards

  • Hi Tunguskar,

    Port 9 on the 'FR6989 is different as soon you enable the ESI module.

    Without ESI enabled Port 9 behaves like a regular port. Writing the same value to the port registers again will not change anything.. 

    Enabling ESI will lead to the case that the ESI analog functions are used on, on all four channels. The ESI module's analog functions go to all eight pins on Port 9. The functions cannot be turned off separately. The ESICIx are also used as inputs, but you can use them as GPIO to some degree. High toggle rate on unused ESICI pins will influence the quality of the sensor signal od the selected ESICI signals. When using ESI use the unused ESICI only for static signaling or only when not sensing rotation. If you saw something strange when ESI was on, you probably have seen this effect.

    I hope this helped a bit, have a nice day

       Johann.

  • Hi Johann thanks for the reply.

    No the ESI Interface is not active. My Problem is releated to an Irda Diode. The Port is connected to the Anode of the diode.

    Normal Handling is:

    RX_PortPinSettings()

    {

    SEL0 =1

    SEL1 =1

    }

    Deactivate_PortPinSettings()

    {

    SEL0 = 1

    SEL1 = 1

    }

    Normally System wakes up, calls RX_PortPinSettings(), if no meassage is received Deactivate_PortPinSettings().

    What we see is that on call of the RX_PortPinSettings(), there is a little glitch. At first it is no problem. but when the counter part sends wakeup Bytes by optohead. This glitch, just on startup of the port settings, becomes higher and leads to a 0xFF in the RX Buffer.

    Kind Regards Christian

  • Hello again Christian,

    setting P9SEL0.x and P9SEL1. both to 1 selects the ESI functionality !

    In case you are using a different port for that

    you could simply use the sequence:

    //starting from reset sel0=0; sel1=0

    P9SEL0=1;

    P9SEL1=1;

    //this will end up to sel0=1; sel1=1;

    this however goes through the state sel0=1;sel1=0; since this are two different instructions.

    To go from sel0=0; sel1=0 directly to state sel0=1; sel1=1;

    simply write P9SELC=1;

    this woks on both bits.

    have a nice day

        Johann

**Attention** This is a public forum