I often see those phrases in tutorials with microcontroller I/O. An example use is "set pin 3 high", or "set pin 5 low for 20 ms".

I also recall reading several different definitions on what that terminology means. Does the low in "set low" mean low impedance? Does it mean low logic level (0 volts)? Or does it mean low as in negative voltage? Or is there even a universal meaning for those phrases?

  • This link will be useful for you. – tyblu Dec 15 '10 at 8:00
  • @tyblu thanks, but I'm already pretty familiar with binary and the actual software side. I was only confused about how a binary value is communicated electronically to another device. – Ponkadoodle Dec 15 '10 at 18:21
up vote 13 down vote accepted

In the root of the expression, it is "set the bit high/low (=1/0)"

It usually means set the corresponding pin "high logic level" and "low logic level", accordingly.

You would have to consult the documentation of your microcontroller, but it almost always is "set the output voltage to Vss/Vdd" (VssIO/VddIO if your micro has separate IO and core power supplies).

  • so high == 1 == Vss? Or is high == Vdd? – Ponkadoodle Dec 15 '10 at 5:43
  • 3
    high == 1 == Vdd (+ve supply, +3.3V or +5V or +1.8V (rarely)), low == 0 == Vss (-ve supply, ~0V). – qdot Dec 15 '10 at 5:50
  • 4
    The d in Vdd refers to the drain of a MOSFET (in CMOS), the s in Vss to the source. You'll often see Vcc instead of Vdd. Here the c is for collector (of a bipolar transistor), a remainder from the older TTL (transistor-transistor logic) circuits. – stevenvh Dec 15 '10 at 10:14
  • 1
    High / Low refer to the physical voltage levels. 1/0 refer to the logical states. In positive logic, 1==High. In negative logic 1==Low. A complex logic design will probably have some positive and some negative logic. (You can use the bubbles on logic gates to keep track.) Maybe not so important, but assuming that 1==High is a pet peeve of mine. – markrages Feb 9 '11 at 5:28

The terms "set low" and "set high", applied to an output pin, mean to drive the output voltage to VSS or VDD, respectively, regardless of whether the pin's value will be interpreted as an active-low signal. The terms "release" or "float the pin" means to set an output to high-impedance mode. The term "assert", applied to an output pin which has clearly-defined active and inactive states, means to drive the pin to the active state (which may in some cases be low and in other cases be high). The term "deassert" means to either drive such a pin to in inactive state, or float it and allow an external resistor to do so.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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