GPIO Overview

General Purpose Input/Output (GPIO) allows easy serial expansion of I/O through an interface.

GPIO provides additional control and monitoring when the microcontroller or chipset has insufficient I/O ports, or in systems where serial communication and control from a remote location is advantageous.

The GPIO platform service differs from many of the other platform services in that the GPIO interface is a direct mapping of the GPIO hardware features and so there is no Platform Independent Layer in the implementation.

Required background

Before beginning you should know the following:

  • Understand platform implementation.

  • Understand GPIO concepts and terminology.

  • Know the architecture of the platform on which you are implementing.

  • Understand the functions you are implementing.

Architecture Description

There are two parts of a GPIO. They are the input path and the output path.

  • Input Path:

    The input path is used to connect an external signal to the internals of the microprocessor. This mode is generally used for analog input and output to avoid oscillations in the internal digital data bus when the signal level at the input is near the HIGH or LOW threshold.
  • Output Path:

    The output path is used to bring external signals from the internals of the microprocessor to the external world.