\section{GPIO}
  \subsection{Generals:}
    On many microcontrolers you can use \textbf{G}eneral \textbf{P}urpose \textbf{I}nput \textbf{O}utput, in order to provide a standart access to this device you have to 
    implement the folowing functions:

  \begin{itemize}
    \item gpio\_t \textbf{gpioopen}(int);
    \item \textbf{gpioclose}(gpio\_t);
    \item \textbf{gpiosetdir}(gpio\_t,char);
    \item \textbf{gpiosetouttype}(gpio\_t, char);
    \item \textbf{gpioset}(gpio\_t,char);
    \item \textbf{gpioclr}(gpio\_t,char);
    \item char \textbf{gpiogetval}(gpio\_t);
  \end{itemize}
  
  \subsection{Details}
    \subsubsection{\textbf{Openning gpio}}
        gpio\_t \textbf{gpioopen}(int); \\
        This function has to open N\ieme  \textbf{ uart} device, so it has to perform basical configuration such as powering up the device \dots This finction has also to return the pointer to the devicce handle.
    
    

