I'm using a SN74LVC245A (datasheet) to shift 5V TTL down to 3.3V so I can read the signals with a Raspberry Pi.

However I am getting really weird results (a 60Hz input signal is picked up by the Pi at anything between 110Hz and 320Hz) and I'm really confused about how to read the datasheet to figure out whether I need pullup or pulldown resistors.

The datasheet says on page 4 the "high-level output current" is -24mA, and the "low-level output current" is 24mA. So to me this means that when the device is outputting a high signal, it is able to sink 24mA of current (since outputting a negative amount of current suggests the current is going into the device instead.) But then if you're outputting a positive voltage, isn't that sourcing current? Why is the figure listed as a negative value?

Is anyone able to explain what these figures actually mean? When I disconnect the 74LVC245 output from my GPIO pin, I still get weird signals from the floating input pin so I am assuming this means the 74LVC245 output is also floating in one state, but I don't know in which state it is (i.e. is it left floating on a high output signal or a low one?) It doesn't really make sense to be floating on a high output signal since it's a level converter and the whole point is to maintain the correct 'high' voltage, so do I need pulldown resistors to handle the low output? If so, why does the datasheet seem to suggest the chip can both source and sink current? (In my mind, source current means the device can output a current with a positive voltage, while sinking current means the device takes in anything and connects it to GND, so perhaps that is where I am going wrong.)

Anyway I'm quite confused so any clarification would be much appreciated!

  • \$\begingroup\$ I didn't think you'd need pull-ups but do you have OE set low and the DIR pin set for the correct direction? \$\endgroup\$
    – PeterJ
    Mar 23, 2014 at 1:53
  • \$\begingroup\$ @PeterJ: Yes, OE is low and DIR is set. An oscilloscope hooked up to various inputs and outputs shows 0/5V on the input pins and 0/3.3V on the output pins which seems to suggest everything is fine, but there is some noise (~1V) in the output signal which is why I started wondering whether that means the pin is left floating. \$\endgroup\$
    – Malvineous
    Mar 23, 2014 at 2:36
  • \$\begingroup\$ Your ~1 volt noise makes me think you have a grounding problem. The ground of the 5 volt input signal, the ground pin of the '245, and Pi ground must all be connected together, and the '245 Vcc should be connected to the Pi's 3.3 volt pin. \$\endgroup\$ Sep 6, 2014 at 22:04

2 Answers 2


"Output current" should be read as "current into the output pin". As such, negative values indicate that the pin is sourcing current, and positive values mean that it is sinking current.

The floating issue can be remedied by using a device with bus hold such as the SN74LVCH245A. The bus hold feature holds the input pin at the previous detected logic level, and since the inputs and outputs are connected internally in the '245(A), this will hold the output as well regardless of the state of nOE and DIR.


All currents are defined with respect to conventional current flow into the respective terminal of the integrated circuit. This means that any current that flows out of the respective terminal is considered to be a negative quantity.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.