\doxysection{F\+:/\+Work/\+Projects/\+STM/.Elementary/\+STM32\+\_\+\+Extended\+Libs/\+My\+Libs\+General/\+Src/general\+\_\+gpio.c File Reference}
\hypertarget{general__gpio_8c}{}\label{general__gpio_8c}\index{F:/Work/Projects/STM/.Elementary/STM32\_ExtendedLibs/MyLibsGeneral/Src/general\_gpio.c@{F:/Work/Projects/STM/.Elementary/STM32\_ExtendedLibs/MyLibsGeneral/Src/general\_gpio.c}}


Модуль для инициализации портов и работы с ними.  


{\ttfamily \#include "{}general\+\_\+gpio.\+h"{}}\newline
Include dependency graph for general\+\_\+gpio.\+c\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=266pt]{general__gpio_8c__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y_l_i_b_s___g_p_i_o___g_e_n_e_r_a_l_ga962f010f783b81fcdd27eb6b53db28e6}{GPIO\+\_\+\+Clock\+\_\+\+Enable}} (GPIO\+\_\+\+Type\+Def \texorpdfstring{$\ast$}{*}GPIOx)
\begin{DoxyCompactList}\small\item\em Включить тактирование порта GPIO. \end{DoxyCompactList}\item 
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y_l_i_b_s___g_p_i_o___l_e_d_s_gac936453c7a0841c0b17bcfdae4958084}{GPIO\+\_\+\+LED\+\_\+\+Init}} (\mbox{\hyperlink{struct_g_p_i_o___l_e_d_type_def}{GPIO\+\_\+\+LEDType\+Def}} \texorpdfstring{$\ast$}{*}led, GPIO\+\_\+\+Type\+Def \texorpdfstring{$\ast$}{*}GPIOx, uint32\+\_\+t GPIO\+\_\+\+PIN\+\_\+X, uint8\+\_\+t LED\+\_\+\+Active\+Level)
\begin{DoxyCompactList}\small\item\em Инициализировать светодиод (структуру светодиода) \end{DoxyCompactList}\item 
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y_l_i_b_s___g_p_i_o___l_e_d_s_ga4b9572949326b050694cd55d0a7e5f6c}{GPIO\+\_\+\+LED\+\_\+\+On}} (\mbox{\hyperlink{struct_g_p_i_o___l_e_d_type_def}{GPIO\+\_\+\+LEDType\+Def}} \texorpdfstring{$\ast$}{*}led)
\begin{DoxyCompactList}\small\item\em Включить светодиод \end{DoxyCompactList}\item 
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y_l_i_b_s___g_p_i_o___l_e_d_s_gaadda2d4f021390a4e392210a5ace5357}{GPIO\+\_\+\+LED\+\_\+\+Off}} (\mbox{\hyperlink{struct_g_p_i_o___l_e_d_type_def}{GPIO\+\_\+\+LEDType\+Def}} \texorpdfstring{$\ast$}{*}led)
\begin{DoxyCompactList}\small\item\em Выключить светодиод \end{DoxyCompactList}\item 
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y_l_i_b_s___g_p_i_o___l_e_d_s_gae78b570447d55a462a679a89dbaa8ea2}{GPIO\+\_\+\+LED\+\_\+\+Set}} (\mbox{\hyperlink{struct_g_p_i_o___l_e_d_type_def}{GPIO\+\_\+\+LEDType\+Def}} \texorpdfstring{$\ast$}{*}led, uint8\+\_\+t led\+\_\+state)
\begin{DoxyCompactList}\small\item\em Выставить светодиод по переменной \end{DoxyCompactList}\item 
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y_l_i_b_s___g_p_i_o___l_e_d_s_gaf22f44ecaf6a1932b47edc5a845b03a9}{GPIO\+\_\+\+LED\+\_\+\+Blink\+\_\+\+Start}} (\mbox{\hyperlink{struct_g_p_i_o___l_e_d_type_def}{GPIO\+\_\+\+LEDType\+Def}} \texorpdfstring{$\ast$}{*}led, uint32\+\_\+t period)
\begin{DoxyCompactList}\small\item\em Активировать моргание светодиодом \end{DoxyCompactList}\item 
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y_l_i_b_s___g_p_i_o___l_e_d_s_gaa00f20021781464af3dfe74aa3e59a0a}{GPIO\+\_\+\+LED\+\_\+\+Fading\+\_\+\+Start}} (\mbox{\hyperlink{struct_g_p_i_o___l_e_d_type_def}{GPIO\+\_\+\+LEDType\+Def}} \texorpdfstring{$\ast$}{*}led, uint32\+\_\+t period)
\begin{DoxyCompactList}\small\item\em Активировать моргание светодиодом \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group___m_y_l_i_b_s___g_p_i_o___l_e_d_s_gad6e6189824406c4d472b6340c7f19bb2}{GPIO\+\_\+\+LED\+\_\+\+Dynamic\+\_\+\+Handle}} (\mbox{\hyperlink{struct_g_p_i_o___l_e_d_type_def}{GPIO\+\_\+\+LEDType\+Def}} \texorpdfstring{$\ast$}{*}led)
\begin{DoxyCompactList}\small\item\em Управление динамическими режимами свечения светодиода \end{DoxyCompactList}\item 
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_y_l_i_b_s___g_p_i_o___s_w_i_t_c_h_gacafee0e68877f2b25df843356871d1f7}{GPIO\+\_\+\+Switch\+\_\+\+Init}} (\mbox{\hyperlink{struct_g_p_i_o___switch_type_def}{GPIO\+\_\+\+Switch\+Type\+Def}} \texorpdfstring{$\ast$}{*}sw, GPIO\+\_\+\+Type\+Def \texorpdfstring{$\ast$}{*}GPIOx, uint32\+\_\+t GPIO\+\_\+\+PIN\+\_\+X, uint8\+\_\+t SW\+\_\+\+Active\+Level)
\begin{DoxyCompactList}\small\item\em Инициализировать кнопку (структуру кнопки) \end{DoxyCompactList}\item 
int \mbox{\hyperlink{group___m_y_l_i_b_s___g_p_i_o___s_w_i_t_c_h_ga960b24335b2026abcad126ab8c422d70}{GPIO\+\_\+\+Read\+\_\+\+Switch}} (\mbox{\hyperlink{struct_g_p_i_o___switch_type_def}{GPIO\+\_\+\+Switch\+Type\+Def}} \texorpdfstring{$\ast$}{*}sw)
\begin{DoxyCompactList}\small\item\em Считать состоянии кнопки \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Модуль для инициализации портов и работы с ними. 

Реализация функций для работы с GPIO\+:
\begin{DoxyItemize}
\item Включение тактирования портов
\item Инициализация светодиодов и кнопок
\item Управление светодиодами\+: включение, выключение, моргание, плавное затухание
\item Чтение состояния кнопок с фильтром от дребезга 
\end{DoxyItemize}

Definition in file \mbox{\hyperlink{general__gpio_8c_source}{general\+\_\+gpio.\+c}}.

