The gpio are push pull/pseudo open drain, so there's a transistor/switch
going from 3.3V to the pin, and a transistor going from ground to the pin.
When you set the pin high, you're turning on only the transistor to 3.3V,
so it's sourcing the current from 3.3V, through the transistor, out of the
pin. When you set it low, you're turning on the transistor to ground, so
it's sinking the current into the pin, through the transistor, and to
ground. If you have both off (high impedance), there isn't any significant
current going anywhere (I think it's some nA).





On Wed, Jul 30, 2014 at 6:11 AM, <k...@cranehome.info> wrote:

> A GPIO configured as an input will not draw substantial current from the
> line it's connected to.  It is sensitive to the charge level on the line
> and will not draw current from it (exempting the gate capacitor charge-up).
>  A GPIO that is set to OUTPUT a high signal is now a potential source of
> current.   If you hook that up to the + end of a motor it will try to power
> the motor with the output.  In that case you MUST insure that your circuit
> limits the current to a maximum of 6mA.  The same is true if you OUTPUT a
> low signal.  Hook that to the - lead on a motor and the + lead to supply
> and the CPU is now trying to absorb all the current from that motor and
> will go poof.
>
> So if you were to connect directly to the positive supply and say somehow
> that pin ever becomes an output that is low you now have a dead short
> through the I/O pin and at best you'll fry that pin or its whole bank,
> you'll likely kill the whole chip.  Since the I/O on these devices is
> programmatic I never like to connect a pin directly to the supply rails.
>
> --
> For more options, visit http://beagleboard.org/discuss
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "BeagleBoard" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/beagleboard/cWGCEtg9syY/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> beagleboard+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to