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.

GPIO's outputs are set to 1 logic when entering debug mode.

Other Parts Discussed in Thread: CC2430, SN74LVC2G240

Hello.

When burning the code into the CC2430 is completed, and before I run the code, meaning the program counter points on line : osal_int_disable( INTS_ALL ); , then the GPIO's outputs are set to 1 logic.

Is there any way to prevent it?

I have an external device on PCB, which have 2 GPIO pins connected to it, and it must not receive from both pins 1 logic at the same time.

I hope anyone could help me out in this situation.

Thank you very much.

Shahar.

  • shahar shahar said:

    When burning the code into the CC2430 is completed, and before I run the code, meaning the program counter points on line : osal_int_disable( INTS_ALL ); , then the GPIO's outputs are set to 1 logic.

    Is there any way to prevent it?

    I have an external device on PCB, which have 2 GPIO pins connected to it, and it must not receive from both pins 1 logic at the same time.

    I'm not sure I have a solution for you, but rather an explanation.  Upon reset, the CC2430 Ports default to an input with pullup active.  This is indicated in Section 13.4.1 and 13.4.3 of the CC2430 datasheet.

  • Thank you for your answer.

    I read that in datasheet but i'm not sure about something.

    If a GPIO pin is set as input pull-up, does it output 1L, if the other end of it is floating?

    Thank you.

  • Input = High Impedance

    The (weak) internal pullup prevents a floating pin by pulling it high.

  • I have used two approaches to this same problem.  1.) P1_0 and P1_0 do not have the internal weak pull up resistors and can be pulled down with   40K resistors.  2.) The other ports can be pulled down with 10K while in their un-initialize turn on state (input with weak pull up).  Both approaches can impact battery life if the ports are constantly high. Approach 2 provides a margial "low" for some devices and may lead to sporadic behavior although it has worked well for me. A third approach would be to use a inverting buffer (eg.: Ti SN74LVC2G240) on the pins requiring a low at turn on. If you have an extra GPIO, applied to the buffers /OE, it would provide a high Z to your off SOC device and a method to enable it when safe.