\doxysection{RS Tools }
\hypertarget{group___r_s___t_o_o_l_s}{}\label{group___r_s___t_o_o_l_s}\index{RS Tools@{RS Tools}}


Всякое для работы по UART/\+RS.  


Collaboration diagram for RS Tools\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=272pt]{group___r_s___t_o_o_l_s}
\end{center}
\end{figure}
\doxysubsubsection*{Topics}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group___r_s___d_e_b_u_g}{Tools for debug RS/\+UART/\+TIM}}
\begin{DoxyCompactList}\small\item\em Дефайны для отладки периферии \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct_r_s___flags_type_def}{RS\+\_\+\+Flags\+Type\+Def}}
\begin{DoxyCompactList}\small\item\em Struct for flags RS. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}}
\begin{DoxyCompactList}\small\item\em Handle for RS communication. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{group___r_s___t_o_o_l_s_gae0f359f0af89adf45bac275a3f5ee34d}{RS\+\_\+\+Enable\+Receive}}()
\begin{DoxyCompactList}\small\item\em Функция изменения направления передачи на ПРИЕМ для RS-\/485. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___r_s___t_o_o_l_s_gaeddade966945ed376bb152151b493d6f}{RS\+\_\+\+Enable\+Transmit}}()
\begin{DoxyCompactList}\small\item\em Функция изменения направления передачи на ПЕРЕДАЧУ для RS-\/485. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga9560ee688d4bcdd90a47c110be4ecf92}{RS\+\_\+\+MASTER\+\_\+\+MODE\+\_\+\+START}}~0x3
\begin{DoxyCompactList}\small\item\em Начало режимов мастера (до него -\/ режим слейв) \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} \{ \newline
{\bfseries RS\+\_\+\+OK} = 0x01
, {\bfseries RS\+\_\+\+ERR}
, {\bfseries RS\+\_\+\+ABORTED}
, {\bfseries RS\+\_\+\+BUSY}
, \newline
{\bfseries RS\+\_\+\+SKIP}
, {\bfseries RS\+\_\+\+TIMEOUT}
, {\bfseries RS\+\_\+\+COLLECT\+\_\+\+MSG\+\_\+\+ERR}
, {\bfseries RS\+\_\+\+PARSE\+\_\+\+MSG\+\_\+\+ERR}
 \}
\begin{DoxyCompactList}\small\item\em Enums for respond CMD about RS status. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga13e1c056947b06c7dc29b90d22f683a7}{RS\+\_\+\+Mode\+Type\+Def}} \{ \mbox{\hyperlink{group___r_s___t_o_o_l_s_gga13e1c056947b06c7dc29b90d22f683a7aee8cfd8ce9edacc055a195ed454a49dc}{RS\+\_\+\+SLAVE\+\_\+\+ALWAYS\+\_\+\+WAIT}} = 0x01
, \mbox{\hyperlink{group___r_s___t_o_o_l_s_gga13e1c056947b06c7dc29b90d22f683a7ad118e897a520ddc9c77a905684079550}{RS\+\_\+\+RESERVED}} = 0x02
, \mbox{\hyperlink{group___r_s___t_o_o_l_s_gga13e1c056947b06c7dc29b90d22f683a7a15953c59b7f547b318edab14070873c5}{RS\+\_\+\+MASTER\+\_\+\+REQUEST}} = 0x03
 \}
\begin{DoxyCompactList}\small\item\em Enums for RS Modes. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{group___r_s___t_o_o_l_s_gab7c55bd8bb15b0eecc8c525019d4a1cc}{RS\+\_\+\+Abort\+Type\+Def}} \{ \mbox{\hyperlink{group___r_s___t_o_o_l_s_ggab7c55bd8bb15b0eecc8c525019d4a1cca95c6ce0fee466ba98e43213d001ecc16}{ABORT\+\_\+\+TX}} = 0x01
, \mbox{\hyperlink{group___r_s___t_o_o_l_s_ggab7c55bd8bb15b0eecc8c525019d4a1ccaf0519a0ddda6fff97dd61ce0f3320df9}{ABORT\+\_\+\+RX}} = 0x02
, \mbox{\hyperlink{group___r_s___t_o_o_l_s_ggab7c55bd8bb15b0eecc8c525019d4a1ccac5554f0ed84242010a53eb518834d8e8}{ABORT\+\_\+\+RX\+\_\+\+TX}} = 0x03
, \mbox{\hyperlink{group___r_s___t_o_o_l_s_ggab7c55bd8bb15b0eecc8c525019d4a1cca5699efe0ab3cdfd4f6ef175ecb809306}{ABORT\+\_\+\+RS}} = 0x04
 \}
\begin{DoxyCompactList}\small\item\em Enums for Abort modes. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga8b7bcc84cb8192a58fe87b662fbd9690}{RS\+\_\+\+Response}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}h\+RS, \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}RS\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Пользовательская функция для ответа на запрос по UART. \end{DoxyCompactList}\item 
\Hypertarget{group___r_s___t_o_o_l_s_ga686bba5fb887445cc792c2cbdcebb01c}\label{group___r_s___t_o_o_l_s_ga686bba5fb887445cc792c2cbdcebb01c} 
\+\_\+\+\_\+weak \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} {\bfseries RS\+\_\+\+Response\+\_\+\+Callback} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}h\+RS, \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}RS\+\_\+msg)
\item 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga1cd98c55f6f359e3ab93d0f9cf912ab5}{RS\+\_\+\+Collect\+\_\+\+Message}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}h\+RS, \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}RS\+\_\+msg, uint8\+\_\+t \texorpdfstring{$\ast$}{*}msg\+\_\+uart\+\_\+buff)
\begin{DoxyCompactList}\small\item\em Пользовательская функция для сбора сообщения в буфер UART. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga3500b3fa91d05a94cf8da5cc5ce338f5}{RS\+\_\+\+Parse\+\_\+\+Message}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}h\+RS, \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}RS\+\_\+msg, uint8\+\_\+t \texorpdfstring{$\ast$}{*}msg\+\_\+uart\+\_\+buff)
\begin{DoxyCompactList}\small\item\em Пользовательская функция для парса сообщения из буфера UART. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga1b59697f4b7fad81f9d5fd9fffebac2f}{RS\+\_\+\+Receive\+\_\+\+IT}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}h\+RS, \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}RS\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Начать прием по прерываниям. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga2e69a97a8b6e0b5855116d88c0e17cb9}{RS\+\_\+\+Transmit\+\_\+\+IT}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}h\+RS, \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}RS\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Начать передачу по прерываниям. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} \mbox{\hyperlink{group___r_s___t_o_o_l_s_gaa261bb0d37e7f18f04fb4353aa0f5c45}{RS\+\_\+\+Init}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}h\+RS, UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}huart, TIM\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}htim, uint8\+\_\+t \texorpdfstring{$\ast$}{*}p\+RS\+\_\+\+Buffer\+Ptr)
\begin{DoxyCompactList}\small\item\em Инициалазация структуры \doxylink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga1ffe808b3640f253b1783295d6990962}{RS\+\_\+\+Abort}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}h\+RS, \mbox{\hyperlink{group___r_s___t_o_o_l_s_gab7c55bd8bb15b0eecc8c525019d4a1cc}{RS\+\_\+\+Abort\+Type\+Def}} Abort\+Mode)
\begin{DoxyCompactList}\small\item\em Отменить прием/передачу RS/\+UART. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} \mbox{\hyperlink{group___r_s___t_o_o_l_s_gab43a3b93c85adee5e3c561922d7ea2ef}{RS\+\_\+\+Handle\+\_\+\+Receive\+\_\+\+Start}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}h\+RS, \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}RS\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Обработчик для начала приема. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga330f6cfcdaab1f239054c0d91be3c5bc}{RS\+\_\+\+Handle\+\_\+\+Transmit\+\_\+\+Start}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}h\+RS, \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}RS\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Обработчик для начала передачи. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga7180b913ba795c07637680982d7f45ac}{RS\+\_\+\+UART\+\_\+\+Tx\+Cplt\+Callback}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}h\+RS)
\begin{DoxyCompactList}\small\item\em UART TX Callback\+: коллбек после окончания передачи. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group___r_s___t_o_o_l_s_gab27567456df0329130c7fe4fc43c6ee1}{RS\+\_\+\+UART\+\_\+\+Handler}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}h\+RS)
\begin{DoxyCompactList}\small\item\em Обработчик прерывания UART. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga2d356b2a0b4af43460bb2cacb81779ce}{RS\+\_\+\+TIM\+\_\+\+Handler}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}h\+RS)
\begin{DoxyCompactList}\small\item\em Обработчик прерывания TIM. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} \mbox{\hyperlink{group___r_s___t_o_o_l_s_gac3a7bbc060a4250c160d51f0a0ca6cf8}{RS\+\_\+\+Timeout\+\_\+\+Start}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}h\+RS)
\begin{DoxyCompactList}\small\item\em Запуск таймаута приема. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga1de0a597d043b64d0a19bc393cc1b3fd}{RS\+\_\+\+Timeout\+\_\+\+Stop}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}h\+RS)
\begin{DoxyCompactList}\small\item\em Остановка таймаута приема. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} \mbox{\hyperlink{group___r_s___t_o_o_l_s_gad3d2e8fb9c2879e1ddb967cff6124521}{RS\+\_\+\+Timeout\+\_\+\+Update}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}h\+RS)
\begin{DoxyCompactList}\small\item\em Обновление (сброс) таймаута приема. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \mbox{\hyperlink{group___r_s___t_o_o_l_s_gadaef5cb7e494d0fd139199f5b6cbeb86}{hmodbus1}}
\begin{DoxyCompactList}\small\item\em Default Handle for Modbus. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Всякое для работы по UART/\+RS. 

Универсальная библиотека для работы с последовательными протоколами (Modbus, Custom) через UART в режиме прерываний с поддержкой таймаутов.\hypertarget{group___r_s___t_o_o_l_s_posibility}{}\doxysubsection{\texorpdfstring{Основные возможности\+:}{Основные возможности\+:}}\label{group___r_s___t_o_o_l_s_posibility}

\begin{DoxyItemize}
\item Прием/передача в прерываниях
\item Обработка IDLE линии для определения конца фрейма
\item Таймауты приема через TIM
\item Гибкая настройка размера сообщений
\end{DoxyItemize}\hypertarget{group___r_s___t_o_o_l_s_usage}{}\doxysubsection{\texorpdfstring{Использование\+:}{Использование\+:}}\label{group___r_s___t_o_o_l_s_usage}

\begin{DoxyEnumerate}
\item Определить структуру сообщения и размеры буфера
\item Реализовать weak-\/функции обработки сообщений
\item Добавить вызовы RS\+\_\+\+UART\+\_\+\+Handler/\+RS\+\_\+\+TIM\+\_\+\+Handler в прерывания
\item Инициализировать через \doxylink{group___r_s___t_o_o_l_s_gaa261bb0d37e7f18f04fb4353aa0f5c45}{RS\+\_\+\+Init()} и запустить прием \doxylink{group___r_s___t_o_o_l_s_ga1b59697f4b7fad81f9d5fd9fffebac2f}{RS\+\_\+\+Receive\+\_\+\+IT()}
\end{DoxyEnumerate}\hypertarget{group___r_s___t_o_o_l_s_features}{}\doxysubsection{\texorpdfstring{Особенности\+:}{Особенности\+:}}\label{group___r_s___t_o_o_l_s_features}

\begin{DoxyItemize}
\item Буфер\+: RS\+\_\+\+Buffer\mbox{[}MSG\+\_\+\+SIZE\+\_\+\+MAX\mbox{]} Общий для приема/передачи
\item Состояния\+: отслеживается через флаги в \doxylink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}
\item Таймауты\+: контролируют максимальное время ожидания фрейма 
\end{DoxyItemize}

\label{doc-define-members}
\Hypertarget{group___r_s___t_o_o_l_s_doc-define-members}
\doxysubsection{Macro Definition Documentation}
\Hypertarget{group___r_s___t_o_o_l_s_gae0f359f0af89adf45bac275a3f5ee34d}\index{RS Tools@{RS Tools}!RS\_EnableReceive@{RS\_EnableReceive}}
\index{RS\_EnableReceive@{RS\_EnableReceive}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_EnableReceive}{RS\_EnableReceive}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_gae0f359f0af89adf45bac275a3f5ee34d} 
\#define RS\+\_\+\+Enable\+Receive(\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}



Функция изменения направления передачи на ПРИЕМ для RS-\/485. 



Definition at line \mbox{\hyperlink{rs__message_8h_source_l00150}{150}} of file \mbox{\hyperlink{rs__message_8h_source}{rs\+\_\+message.\+h}}.

\Hypertarget{group___r_s___t_o_o_l_s_gaeddade966945ed376bb152151b493d6f}\index{RS Tools@{RS Tools}!RS\_EnableTransmit@{RS\_EnableTransmit}}
\index{RS\_EnableTransmit@{RS\_EnableTransmit}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_EnableTransmit}{RS\_EnableTransmit}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_gaeddade966945ed376bb152151b493d6f} 
\#define RS\+\_\+\+Enable\+Transmit(\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})}



Функция изменения направления передачи на ПЕРЕДАЧУ для RS-\/485. 



Definition at line \mbox{\hyperlink{rs__message_8h_source_l00153}{153}} of file \mbox{\hyperlink{rs__message_8h_source}{rs\+\_\+message.\+h}}.

\Hypertarget{group___r_s___t_o_o_l_s_ga9560ee688d4bcdd90a47c110be4ecf92}\index{RS Tools@{RS Tools}!RS\_MASTER\_MODE\_START@{RS\_MASTER\_MODE\_START}}
\index{RS\_MASTER\_MODE\_START@{RS\_MASTER\_MODE\_START}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_MASTER\_MODE\_START}{RS\_MASTER\_MODE\_START}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_ga9560ee688d4bcdd90a47c110be4ecf92} 
\#define RS\+\_\+\+MASTER\+\_\+\+MODE\+\_\+\+START~0x3}



Начало режимов мастера (до него -\/ режим слейв) 



Definition at line \mbox{\hyperlink{rs__message_8h_source_l00181}{181}} of file \mbox{\hyperlink{rs__message_8h_source}{rs\+\_\+message.\+h}}.



\label{doc-enum-members}
\Hypertarget{group___r_s___t_o_o_l_s_doc-enum-members}
\doxysubsection{Enumeration Type Documentation}
\Hypertarget{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}\index{RS Tools@{RS Tools}!RS\_StatusTypeDef@{RS\_StatusTypeDef}}
\index{RS\_StatusTypeDef@{RS\_StatusTypeDef}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_StatusTypeDef}{RS\_StatusTypeDef}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289} 
enum \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}}}



Enums for respond CMD about RS status. 



Definition at line \mbox{\hyperlink{rs__message_8h_source_l00163}{163}} of file \mbox{\hyperlink{rs__message_8h_source}{rs\+\_\+message.\+h}}.

\Hypertarget{group___r_s___t_o_o_l_s_ga13e1c056947b06c7dc29b90d22f683a7}\index{RS Tools@{RS Tools}!RS\_ModeTypeDef@{RS\_ModeTypeDef}}
\index{RS\_ModeTypeDef@{RS\_ModeTypeDef}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_ModeTypeDef}{RS\_ModeTypeDef}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_ga13e1c056947b06c7dc29b90d22f683a7} 
enum \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga13e1c056947b06c7dc29b90d22f683a7}{RS\+\_\+\+Mode\+Type\+Def}}}



Enums for RS Modes. 

\begin{DoxyEnumFields}[2]{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{RS\_SLAVE\_ALWAYS\_WAIT@{RS\_SLAVE\_ALWAYS\_WAIT}!RS Tools@{RS Tools}}\index{RS Tools@{RS Tools}!RS\_SLAVE\_ALWAYS\_WAIT@{RS\_SLAVE\_ALWAYS\_WAIT}}}\Hypertarget{group___r_s___t_o_o_l_s_gga13e1c056947b06c7dc29b90d22f683a7aee8cfd8ce9edacc055a195ed454a49dc}\label{group___r_s___t_o_o_l_s_gga13e1c056947b06c7dc29b90d22f683a7aee8cfd8ce9edacc055a195ed454a49dc} 
RS\+\_\+\+SLAVE\+\_\+\+ALWAYS\+\_\+\+WAIT&Слейв в постоянном ожидании \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{RS\_RESERVED@{RS\_RESERVED}!RS Tools@{RS Tools}}\index{RS Tools@{RS Tools}!RS\_RESERVED@{RS\_RESERVED}}}\Hypertarget{group___r_s___t_o_o_l_s_gga13e1c056947b06c7dc29b90d22f683a7ad118e897a520ddc9c77a905684079550}\label{group___r_s___t_o_o_l_s_gga13e1c056947b06c7dc29b90d22f683a7ad118e897a520ddc9c77a905684079550} 
RS\+\_\+\+RESERVED&резерв \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{RS\_MASTER\_REQUEST@{RS\_MASTER\_REQUEST}!RS Tools@{RS Tools}}\index{RS Tools@{RS Tools}!RS\_MASTER\_REQUEST@{RS\_MASTER\_REQUEST}}}\Hypertarget{group___r_s___t_o_o_l_s_gga13e1c056947b06c7dc29b90d22f683a7a15953c59b7f547b318edab14070873c5}\label{group___r_s___t_o_o_l_s_gga13e1c056947b06c7dc29b90d22f683a7a15953c59b7f547b318edab14070873c5} 
RS\+\_\+\+MASTER\+\_\+\+REQUEST&Мастер с ручным запросом \\
\hline

\end{DoxyEnumFields}


Definition at line \mbox{\hyperlink{rs__message_8h_source_l00183}{183}} of file \mbox{\hyperlink{rs__message_8h_source}{rs\+\_\+message.\+h}}.

\Hypertarget{group___r_s___t_o_o_l_s_gab7c55bd8bb15b0eecc8c525019d4a1cc}\index{RS Tools@{RS Tools}!RS\_AbortTypeDef@{RS\_AbortTypeDef}}
\index{RS\_AbortTypeDef@{RS\_AbortTypeDef}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_AbortTypeDef}{RS\_AbortTypeDef}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_gab7c55bd8bb15b0eecc8c525019d4a1cc} 
enum \mbox{\hyperlink{group___r_s___t_o_o_l_s_gab7c55bd8bb15b0eecc8c525019d4a1cc}{RS\+\_\+\+Abort\+Type\+Def}}}



Enums for Abort modes. 

\begin{DoxyEnumFields}[2]{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{ABORT\_TX@{ABORT\_TX}!RS Tools@{RS Tools}}\index{RS Tools@{RS Tools}!ABORT\_TX@{ABORT\_TX}}}\Hypertarget{group___r_s___t_o_o_l_s_ggab7c55bd8bb15b0eecc8c525019d4a1cca95c6ce0fee466ba98e43213d001ecc16}\label{group___r_s___t_o_o_l_s_ggab7c55bd8bb15b0eecc8c525019d4a1cca95c6ce0fee466ba98e43213d001ecc16} 
ABORT\+\_\+\+TX&Отменить передачу \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ABORT\_RX@{ABORT\_RX}!RS Tools@{RS Tools}}\index{RS Tools@{RS Tools}!ABORT\_RX@{ABORT\_RX}}}\Hypertarget{group___r_s___t_o_o_l_s_ggab7c55bd8bb15b0eecc8c525019d4a1ccaf0519a0ddda6fff97dd61ce0f3320df9}\label{group___r_s___t_o_o_l_s_ggab7c55bd8bb15b0eecc8c525019d4a1ccaf0519a0ddda6fff97dd61ce0f3320df9} 
ABORT\+\_\+\+RX&Отменить прием \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ABORT\_RX\_TX@{ABORT\_RX\_TX}!RS Tools@{RS Tools}}\index{RS Tools@{RS Tools}!ABORT\_RX\_TX@{ABORT\_RX\_TX}}}\Hypertarget{group___r_s___t_o_o_l_s_ggab7c55bd8bb15b0eecc8c525019d4a1ccac5554f0ed84242010a53eb518834d8e8}\label{group___r_s___t_o_o_l_s_ggab7c55bd8bb15b0eecc8c525019d4a1ccac5554f0ed84242010a53eb518834d8e8} 
ABORT\+\_\+\+RX\+\_\+\+TX&Отменить прием и передачу \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{ABORT\_RS@{ABORT\_RS}!RS Tools@{RS Tools}}\index{RS Tools@{RS Tools}!ABORT\_RS@{ABORT\_RS}}}\Hypertarget{group___r_s___t_o_o_l_s_ggab7c55bd8bb15b0eecc8c525019d4a1cca5699efe0ab3cdfd4f6ef175ecb809306}\label{group___r_s___t_o_o_l_s_ggab7c55bd8bb15b0eecc8c525019d4a1cca5699efe0ab3cdfd4f6ef175ecb809306} 
ABORT\+\_\+\+RS&Отменить любую работу UART в целом \\
\hline

\end{DoxyEnumFields}


Definition at line \mbox{\hyperlink{rs__message_8h_source_l00192}{192}} of file \mbox{\hyperlink{rs__message_8h_source}{rs\+\_\+message.\+h}}.



\label{doc-func-members}
\Hypertarget{group___r_s___t_o_o_l_s_doc-func-members}
\doxysubsection{Function Documentation}
\Hypertarget{group___r_s___t_o_o_l_s_ga8b7bcc84cb8192a58fe87b662fbd9690}\index{RS Tools@{RS Tools}!RS\_Response@{RS\_Response}}
\index{RS\_Response@{RS\_Response}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_Response()}{RS\_Response()}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_ga8b7bcc84cb8192a58fe87b662fbd9690} 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} RS\+\_\+\+Response (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{h\+RS}{, }\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{RS\+\_\+msg}{}\end{DoxyParamCaption})}



Пользовательская функция для ответа на запрос по UART. 


\begin{DoxyParams}{Parameters}
{\em h\+RS} & Указатель на хендлер RS. \\
\hline
{\em RS\+\_\+msg} & Указатель на структуру сообщения. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
RS\+\_\+\+RES Статус о результате ответа на комманду. 
\end{DoxyReturn}


Definition at line \mbox{\hyperlink{modbus_8c_source_l00184}{184}} of file \mbox{\hyperlink{modbus_8c_source}{modbus.\+c}}.

\Hypertarget{group___r_s___t_o_o_l_s_ga1cd98c55f6f359e3ab93d0f9cf912ab5}\index{RS Tools@{RS Tools}!RS\_Collect\_Message@{RS\_Collect\_Message}}
\index{RS\_Collect\_Message@{RS\_Collect\_Message}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_Collect\_Message()}{RS\_Collect\_Message()}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_ga1cd98c55f6f359e3ab93d0f9cf912ab5} 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} RS\+\_\+\+Collect\+\_\+\+Message (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{h\+RS}{, }\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{RS\+\_\+msg}{, }\item[{uint8\+\_\+t \texorpdfstring{$\ast$}{*}}]{msg\+\_\+uart\+\_\+buff}{}\end{DoxyParamCaption})}



Пользовательская функция для сбора сообщения в буфер UART. 


\begin{DoxyParams}{Parameters}
{\em h\+RS} & Указатель на хендлер RS. \\
\hline
{\em RS\+\_\+msg} & Указатель на структуру сообщения. \\
\hline
{\em msg\+\_\+uart\+\_\+buff} & Указатель на буффер UART. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
RS\+\_\+\+RES Статус о результате заполнения буфера. 
\end{DoxyReturn}


Definition at line \mbox{\hyperlink{modbus_8c_source_l00193}{193}} of file \mbox{\hyperlink{modbus_8c_source}{modbus.\+c}}.

\Hypertarget{group___r_s___t_o_o_l_s_ga3500b3fa91d05a94cf8da5cc5ce338f5}\index{RS Tools@{RS Tools}!RS\_Parse\_Message@{RS\_Parse\_Message}}
\index{RS\_Parse\_Message@{RS\_Parse\_Message}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_Parse\_Message()}{RS\_Parse\_Message()}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_ga3500b3fa91d05a94cf8da5cc5ce338f5} 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} RS\+\_\+\+Parse\+\_\+\+Message (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{h\+RS}{, }\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{RS\+\_\+msg}{, }\item[{uint8\+\_\+t \texorpdfstring{$\ast$}{*}}]{msg\+\_\+uart\+\_\+buff}{}\end{DoxyParamCaption})}



Пользовательская функция для парса сообщения из буфера UART. 


\begin{DoxyParams}{Parameters}
{\em h\+RS} & Указатель на хендлер RS. \\
\hline
{\em RS\+\_\+msg} & Указатель на структуру сообщения. \\
\hline
{\em msg\+\_\+uart\+\_\+buff} & Указатель на буффер UART. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
RS\+\_\+\+RES Статус о результате заполнения структуры. 
\end{DoxyReturn}


Definition at line \mbox{\hyperlink{modbus_8c_source_l00205}{205}} of file \mbox{\hyperlink{modbus_8c_source}{modbus.\+c}}.

\Hypertarget{group___r_s___t_o_o_l_s_ga1b59697f4b7fad81f9d5fd9fffebac2f}\index{RS Tools@{RS Tools}!RS\_Receive\_IT@{RS\_Receive\_IT}}
\index{RS\_Receive\_IT@{RS\_Receive\_IT}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_Receive\_IT()}{RS\_Receive\_IT()}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_ga1b59697f4b7fad81f9d5fd9fffebac2f} 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} RS\+\_\+\+Receive\+\_\+\+IT (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{h\+RS}{, }\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{RS\+\_\+msg}{}\end{DoxyParamCaption})}



Начать прием по прерываниям. 


\begin{DoxyParams}{Parameters}
{\em h\+RS} & Указатель на хендлер RS. \\
\hline
{\em RS\+\_\+msg} & Указатель на структуру сообщения. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
RS\+\_\+\+RES Статус о состоянии RS после инициализации приема. 
\end{DoxyReturn}


Definition at line \mbox{\hyperlink{rs__message_8c_source_l00043}{43}} of file \mbox{\hyperlink{rs__message_8c_source}{rs\+\_\+message.\+c}}.

\Hypertarget{group___r_s___t_o_o_l_s_ga2e69a97a8b6e0b5855116d88c0e17cb9}\index{RS Tools@{RS Tools}!RS\_Transmit\_IT@{RS\_Transmit\_IT}}
\index{RS\_Transmit\_IT@{RS\_Transmit\_IT}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_Transmit\_IT()}{RS\_Transmit\_IT()}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_ga2e69a97a8b6e0b5855116d88c0e17cb9} 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} RS\+\_\+\+Transmit\+\_\+\+IT (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{h\+RS}{, }\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{RS\+\_\+msg}{}\end{DoxyParamCaption})}



Начать передачу по прерываниям. 


\begin{DoxyParams}{Parameters}
{\em h\+RS} & Указатель на хендлер RS. \\
\hline
{\em RS\+\_\+msg} & Указатель на структуру сообщения. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
RS\+\_\+\+RES Статус о состоянии RS после инициализации передачи. 
\end{DoxyReturn}


Definition at line \mbox{\hyperlink{rs__message_8c_source_l00091}{91}} of file \mbox{\hyperlink{rs__message_8c_source}{rs\+\_\+message.\+c}}.

\Hypertarget{group___r_s___t_o_o_l_s_gaa261bb0d37e7f18f04fb4353aa0f5c45}\index{RS Tools@{RS Tools}!RS\_Init@{RS\_Init}}
\index{RS\_Init@{RS\_Init}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_Init()}{RS\_Init()}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_gaa261bb0d37e7f18f04fb4353aa0f5c45} 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} RS\+\_\+\+Init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{h\+RS}{, }\item[{UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}}]{huart}{, }\item[{TIM\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}}]{htim}{, }\item[{uint8\+\_\+t \texorpdfstring{$\ast$}{*}}]{p\+RS\+\_\+\+Buffer\+Ptr}{}\end{DoxyParamCaption})}



Инициалазация структуры \doxylink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}. 


\begin{DoxyParams}{Parameters}
{\em h\+RS} & Указатель на хендлер RS. \\
\hline
{\em suart} & Указатель на структуру с настройками UART. \\
\hline
{\em stim} & Указатель на структуру с настройками таймера. \\
\hline
{\em p\+RS\+\_\+\+Buffer\+Ptr} & Указатель на буффер для приема-\/передачи по UART. Если он NULL, то поставиться библиотечный буфер. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
RS\+\_\+\+RES Статус о состоянии RS после инициализации.
\end{DoxyReturn}
Инициализация перефирии и структуры для приема-\/передачи по RS. 

Definition at line \mbox{\hyperlink{rs__message_8c_source_l00156}{156}} of file \mbox{\hyperlink{rs__message_8c_source}{rs\+\_\+message.\+c}}.

\Hypertarget{group___r_s___t_o_o_l_s_ga1ffe808b3640f253b1783295d6990962}\index{RS Tools@{RS Tools}!RS\_Abort@{RS\_Abort}}
\index{RS\_Abort@{RS\_Abort}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_Abort()}{RS\_Abort()}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_ga1ffe808b3640f253b1783295d6990962} 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} RS\+\_\+\+Abort (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{h\+RS}{, }\item[{\mbox{\hyperlink{group___r_s___t_o_o_l_s_gab7c55bd8bb15b0eecc8c525019d4a1cc}{RS\+\_\+\+Abort\+Type\+Def}}}]{Abort\+Mode}{}\end{DoxyParamCaption})}



Отменить прием/передачу RS/\+UART. 


\begin{DoxyParams}{Parameters}
{\em h\+RS} & Указатель на хендлер RS. \\
\hline
{\em Abort\+Mode} & Выбор, что надо отменить.
\begin{DoxyItemize}
\item ABORT\+\_\+\+TX\+: Отмена передачи по ЮАРТ, с очищением флагов TX,
\item ABORT\+\_\+\+RX\+: Отмена приема по ЮАРТ, с очищением флагов RX,
\item ABORT\+\_\+\+RX\+\_\+\+TX\+: Отмена приема и передачи по ЮАРТ,
\item ABORT\+\_\+\+RS\+: Отмена приема-\/передачи RS, с очищением всей структуры. 
\end{DoxyItemize}\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
RS\+\_\+\+RES Статус о состоянии RS после аборта.
\end{DoxyReturn}
Отмена работы UART в целом или отмена приема/передачи RS. Также очищается хендл h\+RS. 

Definition at line \mbox{\hyperlink{rs__message_8c_source_l00193}{193}} of file \mbox{\hyperlink{rs__message_8c_source}{rs\+\_\+message.\+c}}.

\Hypertarget{group___r_s___t_o_o_l_s_gab43a3b93c85adee5e3c561922d7ea2ef}\index{RS Tools@{RS Tools}!RS\_Handle\_Receive\_Start@{RS\_Handle\_Receive\_Start}}
\index{RS\_Handle\_Receive\_Start@{RS\_Handle\_Receive\_Start}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_Handle\_Receive\_Start()}{RS\_Handle\_Receive\_Start()}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_gab43a3b93c85adee5e3c561922d7ea2ef} 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} RS\+\_\+\+Handle\+\_\+\+Receive\+\_\+\+Start (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{h\+RS}{, }\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{RS\+\_\+msg}{}\end{DoxyParamCaption})}



Обработчик для начала приема. 


\begin{DoxyParams}{Parameters}
{\em h\+RS} & Указатель на хендлер RS. \\
\hline
{\em RS\+\_\+msg} & Указатель на структуру сообщения. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
RS\+\_\+\+RES Статус о состоянии RS после инициализации приема или окончания общения.
\end{DoxyReturn}
Определяет начинать прием команды/ответа или нет. 

Definition at line \mbox{\hyperlink{rs__message_8c_source_l00237}{237}} of file \mbox{\hyperlink{rs__message_8c_source}{rs\+\_\+message.\+c}}.

\Hypertarget{group___r_s___t_o_o_l_s_ga330f6cfcdaab1f239054c0d91be3c5bc}\index{RS Tools@{RS Tools}!RS\_Handle\_Transmit\_Start@{RS\_Handle\_Transmit\_Start}}
\index{RS\_Handle\_Transmit\_Start@{RS\_Handle\_Transmit\_Start}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_Handle\_Transmit\_Start()}{RS\_Handle\_Transmit\_Start()}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_ga330f6cfcdaab1f239054c0d91be3c5bc} 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} RS\+\_\+\+Handle\+\_\+\+Transmit\+\_\+\+Start (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{h\+RS}{, }\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{RS\+\_\+msg}{}\end{DoxyParamCaption})}



Обработчик для начала передачи. 


\begin{DoxyParams}{Parameters}
{\em h\+RS} & Указатель на хендлер RS. \\
\hline
{\em RS\+\_\+msg} & Указатель на структуру сообщения. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
RS\+\_\+\+RES Статус о состоянии RS после инициализации передачи.
\end{DoxyReturn}
Определяет отвечать ли на команду или нет. 

Definition at line \mbox{\hyperlink{rs__message_8c_source_l00269}{269}} of file \mbox{\hyperlink{rs__message_8c_source}{rs\+\_\+message.\+c}}.

\Hypertarget{group___r_s___t_o_o_l_s_ga7180b913ba795c07637680982d7f45ac}\index{RS Tools@{RS Tools}!RS\_UART\_TxCpltCallback@{RS\_UART\_TxCpltCallback}}
\index{RS\_UART\_TxCpltCallback@{RS\_UART\_TxCpltCallback}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_UART\_TxCpltCallback()}{RS\_UART\_TxCpltCallback()}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_ga7180b913ba795c07637680982d7f45ac} 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} RS\+\_\+\+UART\+\_\+\+Tx\+Cplt\+Callback (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{h\+RS}{}\end{DoxyParamCaption})}



UART TX Callback\+: коллбек после окончания передачи. 


\begin{DoxyParams}{Parameters}
{\em h\+RS} & Указатель на хендлер RS. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
RS\+\_\+\+RES Статус о состоянии RS после обработки приема.
\end{DoxyReturn}
Определяет поведение RS после передачи сообщения. 

Definition at line \mbox{\hyperlink{rs__message_8c_source_l00300}{300}} of file \mbox{\hyperlink{rs__message_8c_source}{rs\+\_\+message.\+c}}.

\Hypertarget{group___r_s___t_o_o_l_s_gab27567456df0329130c7fe4fc43c6ee1}\index{RS Tools@{RS Tools}!RS\_UART\_Handler@{RS\_UART\_Handler}}
\index{RS\_UART\_Handler@{RS\_UART\_Handler}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_UART\_Handler()}{RS\_UART\_Handler()}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_gab27567456df0329130c7fe4fc43c6ee1} 
void RS\+\_\+\+UART\+\_\+\+Handler (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{h\+RS}{}\end{DoxyParamCaption})}



Обработчик прерывания UART. 


\begin{DoxyParams}{Parameters}
{\em h\+RS} & Указатель на хендлер RS.\\
\hline
\end{DoxyParams}
Обрабатывает ошибки если есть и вызывает RS Коллбеки. Добавить вызов этой функции в UARTx\+\_\+\+IRQHandler() ВМЕСТО HAL\+\_\+\+UART\+\_\+\+IRQHandler(). 

Definition at line \mbox{\hyperlink{rs__message_8c_source_l00320}{320}} of file \mbox{\hyperlink{rs__message_8c_source}{rs\+\_\+message.\+c}}.

\Hypertarget{group___r_s___t_o_o_l_s_ga2d356b2a0b4af43460bb2cacb81779ce}\index{RS Tools@{RS Tools}!RS\_TIM\_Handler@{RS\_TIM\_Handler}}
\index{RS\_TIM\_Handler@{RS\_TIM\_Handler}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_TIM\_Handler()}{RS\_TIM\_Handler()}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_ga2d356b2a0b4af43460bb2cacb81779ce} 
void RS\+\_\+\+TIM\+\_\+\+Handler (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{h\+RS}{}\end{DoxyParamCaption})}



Обработчик прерывания TIM. 


\begin{DoxyParams}{Parameters}
{\em h\+RS} & Указатель на хендлер RS.\\
\hline
\end{DoxyParams}
Попадание сюда = таймаут и перезапуск RS приема Добавить вызов этой функции в TIMx\+\_\+\+IRQHandler() ВМЕСТО HAL\+\_\+\+TIM\+\_\+\+IRQHandler(). 

Definition at line \mbox{\hyperlink{rs__message_8c_source_l00433}{433}} of file \mbox{\hyperlink{rs__message_8c_source}{rs\+\_\+message.\+c}}.

\Hypertarget{group___r_s___t_o_o_l_s_gac3a7bbc060a4250c160d51f0a0ca6cf8}\index{RS Tools@{RS Tools}!RS\_Timeout\_Start@{RS\_Timeout\_Start}}
\index{RS\_Timeout\_Start@{RS\_Timeout\_Start}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_Timeout\_Start()}{RS\_Timeout\_Start()}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_gac3a7bbc060a4250c160d51f0a0ca6cf8} 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} RS\+\_\+\+Timeout\+\_\+\+Start (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{h\+RS}{}\end{DoxyParamCaption})}



Запуск таймаута приема. 


\begin{DoxyParams}{Parameters}
{\em h\+RS} & Указатель на хендлер RS. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
RS\+\_\+\+RES Статус операции.
\end{DoxyReturn}
Запускает таймер для отсчета времени ожидания следующего байта. 

Definition at line \mbox{\hyperlink{rs__message_8c_source_l00471}{471}} of file \mbox{\hyperlink{rs__message_8c_source}{rs\+\_\+message.\+c}}.

\Hypertarget{group___r_s___t_o_o_l_s_ga1de0a597d043b64d0a19bc393cc1b3fd}\index{RS Tools@{RS Tools}!RS\_Timeout\_Stop@{RS\_Timeout\_Stop}}
\index{RS\_Timeout\_Stop@{RS\_Timeout\_Stop}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_Timeout\_Stop()}{RS\_Timeout\_Stop()}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_ga1de0a597d043b64d0a19bc393cc1b3fd} 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} RS\+\_\+\+Timeout\+\_\+\+Stop (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{h\+RS}{}\end{DoxyParamCaption})}



Остановка таймаута приема. 


\begin{DoxyParams}{Parameters}
{\em h\+RS} & Указатель на хендлер RS. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
RS\+\_\+\+RES Статус операции.
\end{DoxyReturn}
Останавливает таймер ожидания. 

Definition at line \mbox{\hyperlink{rs__message_8c_source_l00491}{491}} of file \mbox{\hyperlink{rs__message_8c_source}{rs\+\_\+message.\+c}}.

\Hypertarget{group___r_s___t_o_o_l_s_gad3d2e8fb9c2879e1ddb967cff6124521}\index{RS Tools@{RS Tools}!RS\_Timeout\_Update@{RS\_Timeout\_Update}}
\index{RS\_Timeout\_Update@{RS\_Timeout\_Update}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{RS\_Timeout\_Update()}{RS\_Timeout\_Update()}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_gad3d2e8fb9c2879e1ddb967cff6124521} 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} RS\+\_\+\+Timeout\+\_\+\+Update (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{h\+RS}{}\end{DoxyParamCaption})}



Обновление (сброс) таймаута приема. 


\begin{DoxyParams}{Parameters}
{\em h\+RS} & Указатель на хендлер RS. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
RS\+\_\+\+RES Статус операции.
\end{DoxyReturn}
Сбрасывает счетчик таймера в 0. 

Definition at line \mbox{\hyperlink{rs__message_8c_source_l00509}{509}} of file \mbox{\hyperlink{rs__message_8c_source}{rs\+\_\+message.\+c}}.



\label{doc-var-members}
\Hypertarget{group___r_s___t_o_o_l_s_doc-var-members}
\doxysubsection{Variable Documentation}
\Hypertarget{group___r_s___t_o_o_l_s_gadaef5cb7e494d0fd139199f5b6cbeb86}\index{RS Tools@{RS Tools}!hmodbus1@{hmodbus1}}
\index{hmodbus1@{hmodbus1}!RS Tools@{RS Tools}}
\doxysubsubsection{\texorpdfstring{hmodbus1}{hmodbus1}}
{\footnotesize\ttfamily \label{group___r_s___t_o_o_l_s_gadaef5cb7e494d0fd139199f5b6cbeb86} 
\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} hmodbus1\hspace{0.3cm}{\ttfamily [extern]}}



Default Handle for Modbus. 



Definition at line \mbox{\hyperlink{modbus_8c_source_l00024}{24}} of file \mbox{\hyperlink{modbus_8c_source}{modbus.\+c}}.

\input{group___r_s___d_e_b_u_g}
