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.

The state of the GPIO pins during power up and power off

Hello, everyone!

I'm using dsp28335. And I need the value of a GPIO pin to be low. But when I power up the dsp, the value of the pin will be high for about 300ms first then be low . And during power off, the value of the pin will be high for about 150ms . It seems to me that I can't control the value of the GPIO pins,during power up and power off ! Am I right? Dose the GPIO pins can't be controlled during power up and power off?

thanks a lot! 

  • Take a look at the following link:
    http://e2e.ti.com/support/microcontrollers/tms320c2000_32-bit_real-time_mcus/f/171/p/228638/803817.aspx

    (the link is about the F28035, but the same information is true of the F28335; just use the F28335 System Control and Interrupts user guide as a reference instead)


    Thank you,
    Brett

  • Hi Brett,

    I have disabled the pull up,but the problem is still here. The pin still goes high for about 300ms,during power up. And goes high for about 150ms during power off.

    here is my programe:

       EALLOW;
       GpioCtrlRegs.GPAPUD.all = 0xFFFFFFFF;    // Pullup's disabled GPIO0-GPIO31
      GpioCtrlRegs.GPBPUD.all = 0xFFFFFFFF;    // Pullup's disabled GPIO32-GPIO63
      GpioCtrlRegs.GPCPUD.all = 0xFFFFFFFF;    // Pullup's disabled GPIO64-GPIO87

    EDIS;


      

    Thanks a lot!

    qian

  • As described in the link, some GPIOs will have pull ups at start up and some will not.  You're apparently using a GPIO that has pullups enabled at reset.

    On GPIO pins that have pullups enabled at reset, you cannot change the reset state of these GPIO, you can only change the pull-ups after you run the code to disable the pullups.  Therefore it is possible to get glitches.

    Therefore, I would recommend that if these pulses are a concern to a specific interfaced device either:
    1) try to use a different GPIO that has pull-ups disabled at reset
    2) add a pull-down that over-powers the internal pullup.


    Thank you,
    Brett