\doxysection{E\+:/.WORK/\+STM32/\+Diod\+\_\+\+Test/diode\+\_\+tester/\+Core/\+Modbus/\+Src/modbus\+\_\+slave.c File Reference}
\hypertarget{modbus__slave_8c}{}\label{modbus__slave_8c}\index{E:/.WORK/STM32/Diod\_Test/diode\_tester/Core/Modbus/Src/modbus\_slave.c@{E:/.WORK/STM32/Diod\_Test/diode\_tester/Core/Modbus/Src/modbus\_slave.c}}


Модуль для реализации слейв MODBUS.  


{\ttfamily \#include "{}modbus.\+h"{}}\newline
Include dependency graph for modbus\+\_\+slave.\+c\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{modbus__slave_8c__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\+\_\+\+Status\+Type\+Def}} \mbox{\hyperlink{group___m_o_d_b_u_s___s_l_a_v_e_gacb44db7ef6ef32b08f4ffe0178eabee8}{MB\+\_\+\+Slave\+\_\+\+Response}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}hmodbus, \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}modbus\+\_\+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___m_o_d_b_u_s___s_l_a_v_e_ga1c73cfdcbe7bc6076f62a4ec9c211eee}{MB\+\_\+\+Slave\+\_\+\+Collect\+\_\+\+Message}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}hmodbus, \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}modbus\+\_\+msg, uint8\+\_\+t \texorpdfstring{$\ast$}{*}modbus\+\_\+uart\+\_\+buff)
\begin{DoxyCompactList}\small\item\em Сбор сообщения в буфер UART в режиме слейв (фрейм слейва из msg -\/\texorpdfstring{$>$}{>} uart). \end{DoxyCompactList}\item 
static int \mbox{\hyperlink{modbus__slave_8c_a79e3f84b9daba8a42c8ca6026133acc5}{MB\+\_\+\+Define\+\_\+\+Size\+\_\+of\+\_\+\+Function}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}hmodbus, \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}modbus\+\_\+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___m_o_d_b_u_s___s_l_a_v_e_gadc281b1044c4ae345d10db6497846cef}{MB\+\_\+\+Slave\+\_\+\+Parse\+\_\+\+Message}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}hmodbus, \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}modbus\+\_\+msg, uint8\+\_\+t \texorpdfstring{$\ast$}{*}modbus\+\_\+uart\+\_\+buff)
\begin{DoxyCompactList}\small\item\em Парс сообщения в режиме слейв (фрейм мастера из uart -\/\texorpdfstring{$>$}{>} msg). \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Модуль для реализации слейв MODBUS. 

Файл содержит реализацию функций для работы Modbus в режиме слейва.\hypertarget{modbus__slave_8c_slave}{}\doxysubsection{\texorpdfstring{Функции и макросы}{Функции и макросы}}\label{modbus__slave_8c_slave}

\begin{DoxyItemize}
\item \doxylink{group___m_o_d_b_u_s___s_l_a_v_e_gacb44db7ef6ef32b08f4ffe0178eabee8}{MB\+\_\+\+Slave\+\_\+\+Response()} — Ответ на запрос
\item \doxylink{group___m_o_d_b_u_s___s_l_a_v_e_ga1c73cfdcbe7bc6076f62a4ec9c211eee}{MB\+\_\+\+Slave\+\_\+\+Collect\+\_\+\+Message()} — Сбор сообщения в режиме слейва.
\item \doxylink{group___m_o_d_b_u_s___s_l_a_v_e_gadc281b1044c4ae345d10db6497846cef}{MB\+\_\+\+Slave\+\_\+\+Parse\+\_\+\+Message()} — Парс сообщения в режиме слейва. 
\end{DoxyItemize}

Definition in file \mbox{\hyperlink{modbus__slave_8c_source}{modbus\+\_\+slave.\+c}}.



\label{doc-func-members}
\Hypertarget{modbus__slave_8c_doc-func-members}
\doxysubsection{Function Documentation}
\Hypertarget{modbus__slave_8c_a79e3f84b9daba8a42c8ca6026133acc5}\index{modbus\_slave.c@{modbus\_slave.c}!MB\_Define\_Size\_of\_Function@{MB\_Define\_Size\_of\_Function}}
\index{MB\_Define\_Size\_of\_Function@{MB\_Define\_Size\_of\_Function}!modbus\_slave.c@{modbus\_slave.c}}
\doxysubsubsection{\texorpdfstring{MB\_Define\_Size\_of\_Function()}{MB\_Define\_Size\_of\_Function()}}
{\footnotesize\ttfamily \label{modbus__slave_8c_a79e3f84b9daba8a42c8ca6026133acc5} 
int MB\+\_\+\+Define\+\_\+\+Size\+\_\+of\+\_\+\+Function (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{hmodbus}{, }\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{modbus\+\_\+msg}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Определить размер модбас запроса (СЛЕЙВ версия). 


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

Definition at line \mbox{\hyperlink{modbus__slave_8c_source_l00294}{294}} of file \mbox{\hyperlink{modbus__slave_8c_source}{modbus\+\_\+slave.\+c}}.

