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 o/P



 HI,

 

I made one of GPIOs pin HIGH when it meets a specified criteria. But when i connected across a CRO, it is showing only 300mv.

What can be the reason?

I am using USB100V2 for powering the board.  The explorer board is of TI make only.

  • Hi,

    did you initialize the gpio registers correctly (mux, dir)?

    Best regards,
    Edwin Krasser

  • Hi,

    S. I did.

     

    void Gpio_select(void)
    {
        EALLOW;
        GpioCtrlRegs.GPAMUX1.all = 0;        // GPIO15 ... GPIO0 = General Puropse I/O
        GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 1;    // ePWM1A active

        GpioCtrlRegs.GPAMUX2.all = 0;        // GPIO31 ... GPIO16 = General Purpose I/O
        GpioCtrlRegs.GPBMUX1.all = 0;        // GPIO47 ... GPIO32 = General Purpose I/O
        GpioCtrlRegs.GPBMUX2.all = 0;        // GPIO63 ... GPIO48 = General Purpose I/O
        GpioCtrlRegs.GPCMUX1.all = 0;        // GPIO79 ... GPIO64 = General Purpose I/O
        GpioCtrlRegs.GPCMUX2.all = 0;        // GPIO87 ... GPIO80 = General Purpose I/O
         
        GpioCtrlRegs.GPADIR.all = 0;
        GpioCtrlRegs.GPADIR.bit.GPIO9 = 1;    // peripheral explorer: LED LD1 at GPIO9
        GpioCtrlRegs.GPADIR.bit.GPIO11 = 1;    // peripheral explorer: LED LD2 at GPIO11

        GpioCtrlRegs.GPBDIR.all = 0;        // GPIO63-32 as inputs
        GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1;    // peripheral explorer: LED LD3 at GPIO34
        GpioCtrlRegs.GPBDIR.bit.GPIO49 = 1; // peripheral explorer: LED LD4 at GPIO49
        GpioCtrlRegs.GPBDIR.bit.GPIO60 = 1; //
        GpioCtrlRegs.GPBDIR.bit.GPIO61 = 1; //
        GpioCtrlRegs.GPCDIR.all = 0;        // GPIO87-64 as inputs
        EDIS;

  • Hi,

    the initializations look good (If you check the initializations using the jtag interface, do you read the correct values?).

    And after executing

    GpioDataRegs.GPASET.bit.GPIO9=1;

    the output pin does not output high. Do I understand it correctly?
    And one more question: Which c2000 do you use?

    Best regards,
    Edwin Krasser

  • Sir,

    Wat do u mean by 'If you check the initializations using the jtag interface, do you read the correct values?'

     

    I am using USB100V2 interface only.

    The o/p pin is going HIGH but it is at 0.3 volts only. When it is not HIGH ( i.e LOW) , it is showing 0 V.

    wat may be the problem?

  • Hi,

    did you check the pins? Do you have a short circuit (or a very low resistance connection) to ground? And what's the circuit connected to the pin?

    Best regards,
    Edwin Krasser

  • am using TI explorer kit only. It is provided with two GPIO ports 60,61. I have made it HIGH when the code meets the required condition.

    I connected a CRO probe to GPIO60 and observing. It is absolutely at zero when the condition fails but when it satisfies condition, it is going to 3 volt level.

     

    If it has short ciruit problem, then it will not show two stable states na. Correct me if i wrong.

  • Hi,

    excuse me, but I do not understand it any more. Is it 300 mV or 3 V? Did you check it with a multimeter? Or do you just use your scope (Does CRO mean Cathode Ray Oscilloscope?)? What about your probe (x1, x10)?

    Best regards,
    Edwin Krasser

  • s..am getting 3 V. problm is solved.

    thanks for the reply..thanks a lot.

     

    Now i wud like to drive a relay using this pin. How can it b possibl? suggest me.

     

    thanks in advance,

  • Hi,

    I do not know which relay you want to use. But especially the low voltage relays will need some current (significant more than 4 mA). So you will need a low side switch (guaranteed on with 3.3 V gate voltage) which is switching the relay. And do not forget a small diode reverse direction, parallel to the relay to avoid overvoltages when switching off. And you can add a 3.3 kOhm pull down resistor to the gpio because the internal pull up would cause the MOST (and the relay) to turn on when resetting.

    Best regards,
    Edwin Krasser



                V++       V++
                 |         |
               -----       C
                / \ diode  O
                ---        I
                 |         L...of relay
                 o----------
               |--
    GPIO ------|
           |   |--

          PD     |
           |    GND
          GND

     

  • Hi, thank u for ur suggestion sir.. I wil try and will give feedback soon. Hav a nice day