\doxysubsection{Main API for Modbus Library }
\hypertarget{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s}{}\label{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s}\index{Main API for Modbus Library@{Main API for Modbus Library}}


Публичные функции библиотеки  


Collaboration diagram for Main API for Modbus Library\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s}
\end{center}
\end{figure}
\doxysubsubsubsection*{Topics}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group___m_o_d_b_u_s___l_e_g_a_c_y___a_p_i}{Legacy API}}
\begin{DoxyCompactList}\small\item\em Старые API функций, сохранённые для обратной совместимости. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___m_o_d_b_u_s___d_a_t_a___a_c_c_e_s_s___f_u_n_c_t_i_o_n_s}{API for Data Access}}
\begin{DoxyCompactList}\small\item\em API для доступа к данным модбас внутри программы \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g}{API for Master Requests}}
\begin{DoxyCompactList}\small\item\em API для формирования фрейма-\/запроса в режиме мастер \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_gad91eec9c3350f2705f1bbe1856cb0159}{MODBUS\+\_\+\+MODE\+\_\+\+MASTER}}~1
\begin{DoxyCompactList}\small\item\em Псевдо-\/enum\+: Режим мастер \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_gac0b3749af91f1007fd0291157b66b305}{MODBUS\+\_\+\+MODE\+\_\+\+SLAVE}}~0
\begin{DoxyCompactList}\small\item\em Псевдо-\/enum\+: Режим слейв \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga9e787c3454aab3293dec6e6795f687f5}{MODBUS\+\_\+\+First\+Init}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}hmodbus, UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}huart, TIM\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}htim)
\begin{DoxyCompactList}\small\item\em Инициализация периферии модбас. \end{DoxyCompactList}\item 
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga460466907693a256487d31f09b16edfe}{MODBUS\+\_\+\+Config}} (\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}hmodbus, uint8\+\_\+t ID, uint16\+\_\+t Timeout, uint8\+\_\+t master)
\begin{DoxyCompactList}\small\item\em Программная конфигурация модбас. \end{DoxyCompactList}\item 
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga9a17402983188566254b7096342ba69e}{MODBUS\+\_\+\+Slave\+Start}} (\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 
HAL\+\_\+\+Status\+Type\+Def \mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga19090cabfba2345391e37398125a2f55}{MODBUS\+\_\+\+Master\+Request}} (\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, void(\texorpdfstring{$\ast$}{*}p\+Clbk)(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}, \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}))
\begin{DoxyCompactList}\small\item\em Реквест мастера модбас. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsubsection{Detailed Description}
Публичные функции библиотеки 

Объединяющий файл для подключения всей функциональности Modbus. Подключает все необходимые модули\+:\hypertarget{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_Start}{}\doxysubsubsection{\texorpdfstring{Инструкция по подключению}{Инструкция по подключению}}\label{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_Start}
Для корректной работы надо\+:
\begin{DoxyItemize}
\item Подключить обработчики \doxylink{group___r_s___t_o_o_l_s_gab27567456df0329130c7fe4fc43c6ee1}{RS\+\_\+\+UART\+\_\+\+Handler()}, \doxylink{group___r_s___t_o_o_l_s_ga2d356b2a0b4af43460bb2cacb81779ce}{RS\+\_\+\+TIM\+\_\+\+Handler()}, в соответствубщие низкоуровневые прерывания UART\+\_\+\+IRQHandler, TIM\+\_\+\+IRQHandler вместо HAL\textquotesingle{}овского обработчика
\item В \doxylink{modbus__config_8h}{modbus\+\_\+config.\+h} настроить дефайны для нужной работы UART
\item Инициализировать хендл мобдас. По умолчанию глобально создается hmodbus1
\item После для запуска Modbus\+: 
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/Слейв\ модбас-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\///}}
\DoxyCodeLine{\textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{modbus_8h}{modbus.h}}"{}}}
\DoxyCodeLine{}
\DoxyCodeLine{\mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga9e787c3454aab3293dec6e6795f687f5}{MODBUS\_FirstInit}}(\&\mbox{\hyperlink{group___r_s___t_o_o_l_s_gadaef5cb7e494d0fd139199f5b6cbeb86}{hmodbus1}},\ \&huart1,\ \&htim3);}
\DoxyCodeLine{\mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga460466907693a256487d31f09b16edfe}{MODBUS\_Config}}(\&\mbox{\hyperlink{group___r_s___t_o_o_l_s_gadaef5cb7e494d0fd139199f5b6cbeb86}{hmodbus1}},\ \mbox{\hyperlink{group___m_o_d_b_u_s___c_o_n_f_i_g_s_gab9b18e108b98b225a52c5ccca58e7f2b}{MODBUS\_DEVICE\_ID}},\ \mbox{\hyperlink{group___m_o_d_b_u_s___c_o_n_f_i_g_s_ga66f7c59a25c8cca6d5b0991895c26b69}{MODBUS\_TIMEOUT}},\ \mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_gac0b3749af91f1007fd0291157b66b305}{MODBUS\_MODE\_SLAVE}});}
\DoxyCodeLine{\mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga9a17402983188566254b7096342ba69e}{MODBUS\_SlaveStart}}(\&\mbox{\hyperlink{group___r_s___t_o_o_l_s_gadaef5cb7e494d0fd139199f5b6cbeb86}{hmodbus1}},\ NULL);}

\end{DoxyCode}
 
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/Мастер\ модбас-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\///}}
\DoxyCodeLine{\textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{modbus_8h}{modbus.h}}"{}}}
\DoxyCodeLine{}
\DoxyCodeLine{\mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga9e787c3454aab3293dec6e6795f687f5}{MODBUS\_FirstInit}}(\&\mbox{\hyperlink{group___r_s___t_o_o_l_s_gadaef5cb7e494d0fd139199f5b6cbeb86}{hmodbus1}},\ \&huart1,\ \&htim3);}
\DoxyCodeLine{\mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga460466907693a256487d31f09b16edfe}{MODBUS\_Config}}(\&\mbox{\hyperlink{group___r_s___t_o_o_l_s_gadaef5cb7e494d0fd139199f5b6cbeb86}{hmodbus1}},\ 0,\ \mbox{\hyperlink{group___m_o_d_b_u_s___c_o_n_f_i_g_s_ga66f7c59a25c8cca6d5b0991895c26b69}{MODBUS\_TIMEOUT}},\ \mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_gad91eec9c3350f2705f1bbe1856cb0159}{MODBUS\_MODE\_MASTER}});}
\DoxyCodeLine{\textcolor{comment}{//\ Запрос\ на\ 1\ ID,\ считать\ холдинг\ регистры\ с\ 0\ адреса\ 10\ штук}}
\DoxyCodeLine{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ msg\ =\ \mbox{\hyperlink{group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g_ga4a4798a15608f3aac04150115a628f8e}{MB\_REQUEST\_READ\_HOLDING\_REGS}}(1,\ 0,\ 10);}
\DoxyCodeLine{\mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga19090cabfba2345391e37398125a2f55}{MODBUS\_MasterRequest}}(\&\mbox{\hyperlink{group___r_s___t_o_o_l_s_gadaef5cb7e494d0fd139199f5b6cbeb86}{hmodbus1}},\ \&msg,\ \&callback\_func);}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keywordtype}{void}\ callback\_func(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hmodbus,\ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *modbus\_msg)\ }
\DoxyCodeLine{\{}
\DoxyCodeLine{\ \ \textcolor{comment}{//\ MB\_RespGet\_...\ Чтобы\ достать\ нужные\ данные\ из\ ответа}}
\DoxyCodeLine{\ \ \textcolor{keywordflow}{if}(hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a8bbcb263ae7a61790b559bcb55cd9aa9}{RS\_STATUS}}\ ==\ RS\_OK)}
\DoxyCodeLine{\ \ \{}
\DoxyCodeLine{\ \ \ \ \textcolor{keywordflow}{for}(\textcolor{keywordtype}{int}\ addr\ =\ \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga679c526f339999281b97010876e7a295}{MODBUS\_MSG}}.Addr;\ addr\ <\ \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga679c526f339999281b97010876e7a295}{MODBUS\_MSG}}.Addr\ +\ \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga679c526f339999281b97010876e7a295}{MODBUS\_MSG}}.Qnt;\ addr++)}
\DoxyCodeLine{\ \ \ \ \{}
\DoxyCodeLine{\ \ \ \ \ \ uint16\_t\ value;}
\DoxyCodeLine{\ \ \ \ \ \ \textcolor{keywordflow}{if}(\mbox{\hyperlink{group___m_o_d_b_u_s___r_e_g_s___a_p_i_ga1f80317087624a23f84224c6f2c1d596}{MB\_RespGet\_RegisterValue}}(\&\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga679c526f339999281b97010876e7a295}{MODBUS\_MSG}},\ addr,\ \&value))}
\DoxyCodeLine{\ \ \ \ \ \ \{}
\DoxyCodeLine{\ \ \ \ \ \ \ \ read\_hold[i]\ =\ value;}
\DoxyCodeLine{\ \ \ \ \ \ \}}
\DoxyCodeLine{\ \ \ \ \}}
\DoxyCodeLine{\ \ \}}
\DoxyCodeLine{\}}

\end{DoxyCode}

\end{DoxyItemize}\hypertarget{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_modules}{}\doxysubsubsection{\texorpdfstring{Подключаемые модули\+:}{Подключаемые модули\+:}}\label{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_modules}

\begin{DoxyItemize}
\item \doxylink{rs__message_8h}{rs\+\_\+message.\+h} -\/ работа с uart
\item \doxylink{modbus__core_8h}{modbus\+\_\+core.\+h} -\/ базовые определения
\item \doxylink{modbus__coils_8h}{modbus\+\_\+coils.\+h} -\/ работа с дискретными выходами
\item \doxylink{modbus__holdregs_8h}{modbus\+\_\+holdregs.\+h} -\/ работа с регистрами хранения ~\newline

\item \doxylink{modbus__inputregs_8h}{modbus\+\_\+inputregs.\+h} -\/ работа с входными регистрами
\item \doxylink{modbus__devid_8h}{modbus\+\_\+devid.\+h} -\/ идентификация устройства
\item \doxylink{modbus__diag_8h}{modbus\+\_\+diag.\+h} -\/ диагностика modbus
\end{DoxyItemize}\hypertarget{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_data}{}\doxysubsubsection{\texorpdfstring{Структура данных Modbus}{Структура данных Modbus}}\label{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_data}
\hypertarget{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_holdinginput-registers}{}\doxysubsubsubsubsubsection{\texorpdfstring{Holding/\+Input Registers\+:}{Holding/\+Input Registers\+:}}\label{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_holdinginput-registers}

\begin{DoxyItemize}
\item Регистры — 16-\/битные слова. Доступ к регистрам осуществляется через указатель. ~\newline
 Таким образом, сами регистры могут представлять собой как массив так и структуру.
\end{DoxyItemize}\hypertarget{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_coils}{}\doxysubsubsubsubsubsection{\texorpdfstring{Coils\+:}{Coils\+:}}\label{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_coils}

\begin{DoxyItemize}
\item Coils — это биты, упакованные в 16-\/битные слова. Доступ к коилам осуществляется через указатель. ~\newline
 Таким образом, сами коилы могут представлять собой как массив так и структуру. 
\end{DoxyItemize}

\label{doc-define-members}
\Hypertarget{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_doc-define-members}
\doxysubsubsection{Macro Definition Documentation}
\Hypertarget{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_gad91eec9c3350f2705f1bbe1856cb0159}\index{Main API for Modbus Library@{Main API for Modbus Library}!MODBUS\_MODE\_MASTER@{MODBUS\_MODE\_MASTER}}
\index{MODBUS\_MODE\_MASTER@{MODBUS\_MODE\_MASTER}!Main API for Modbus Library@{Main API for Modbus Library}}
\doxysubsubsubsection{\texorpdfstring{MODBUS\_MODE\_MASTER}{MODBUS\_MODE\_MASTER}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_gad91eec9c3350f2705f1bbe1856cb0159} 
\#define MODBUS\+\_\+\+MODE\+\_\+\+MASTER~1}



Псевдо-\/enum\+: Режим мастер 



Definition at line \mbox{\hyperlink{modbus_8h_source_l00113}{113}} of file \mbox{\hyperlink{modbus_8h_source}{modbus.\+h}}.

\Hypertarget{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_gac0b3749af91f1007fd0291157b66b305}\index{Main API for Modbus Library@{Main API for Modbus Library}!MODBUS\_MODE\_SLAVE@{MODBUS\_MODE\_SLAVE}}
\index{MODBUS\_MODE\_SLAVE@{MODBUS\_MODE\_SLAVE}!Main API for Modbus Library@{Main API for Modbus Library}}
\doxysubsubsubsection{\texorpdfstring{MODBUS\_MODE\_SLAVE}{MODBUS\_MODE\_SLAVE}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_gac0b3749af91f1007fd0291157b66b305} 
\#define MODBUS\+\_\+\+MODE\+\_\+\+SLAVE~0}



Псевдо-\/enum\+: Режим слейв 



Definition at line \mbox{\hyperlink{modbus_8h_source_l00117}{117}} of file \mbox{\hyperlink{modbus_8h_source}{modbus.\+h}}.



\label{doc-func-members}
\Hypertarget{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_doc-func-members}
\doxysubsubsection{Function Documentation}
\Hypertarget{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga9e787c3454aab3293dec6e6795f687f5}\index{Main API for Modbus Library@{Main API for Modbus Library}!MODBUS\_FirstInit@{MODBUS\_FirstInit}}
\index{MODBUS\_FirstInit@{MODBUS\_FirstInit}!Main API for Modbus Library@{Main API for Modbus Library}}
\doxysubsubsubsection{\texorpdfstring{MODBUS\_FirstInit()}{MODBUS\_FirstInit()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga9e787c3454aab3293dec6e6795f687f5} 
HAL\+\_\+\+Status\+Type\+Def MODBUS\+\_\+\+First\+Init (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{hmodbus}{, }\item[{UART\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}}]{huart}{, }\item[{TIM\+\_\+\+Handle\+Type\+Def \texorpdfstring{$\ast$}{*}}]{htim}{}\end{DoxyParamCaption})}



Инициализация периферии модбас. 


\begin{DoxyParams}{Parameters}
{\em hmodbus} & Указатель на хендлер RS \\
\hline
{\em huart} & Указатель на хендлер UART \\
\hline
{\em htim} & Указатель на хендлер TIM\\
\hline
\end{DoxyParams}
Подключает хендлы периферии к hmodbus Конфигурация выставляется по умолчанию из \doxylink{modbus__config_8h}{modbus\+\_\+config.\+h} 

Definition at line \mbox{\hyperlink{modbus_8c_source_l00042}{42}} of file \mbox{\hyperlink{modbus_8c_source}{modbus.\+c}}.

\Hypertarget{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga460466907693a256487d31f09b16edfe}\index{Main API for Modbus Library@{Main API for Modbus Library}!MODBUS\_Config@{MODBUS\_Config}}
\index{MODBUS\_Config@{MODBUS\_Config}!Main API for Modbus Library@{Main API for Modbus Library}}
\doxysubsubsubsection{\texorpdfstring{MODBUS\_Config()}{MODBUS\_Config()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga460466907693a256487d31f09b16edfe} 
HAL\+\_\+\+Status\+Type\+Def MODBUS\+\_\+\+Config (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{hmodbus}{, }\item[{uint8\+\_\+t}]{ID}{, }\item[{uint16\+\_\+t}]{Timeout}{, }\item[{uint8\+\_\+t}]{master}{}\end{DoxyParamCaption})}



Программная конфигурация модбас. 


\begin{DoxyParams}{Parameters}
{\em hmodbus} & указатель на хендлер RS \\
\hline
{\em Timeout} & Время тишины между двумя байтами после которых перезапускается прием \\
\hline
{\em master} & Режим мастер (пока не сделан)\\
\hline
\end{DoxyParams}
Конфигурирует ID, таймаут и режим hmodbus 

Definition at line \mbox{\hyperlink{modbus_8c_source_l00072}{72}} of file \mbox{\hyperlink{modbus_8c_source}{modbus.\+c}}.

\Hypertarget{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga9a17402983188566254b7096342ba69e}\index{Main API for Modbus Library@{Main API for Modbus Library}!MODBUS\_SlaveStart@{MODBUS\_SlaveStart}}
\index{MODBUS\_SlaveStart@{MODBUS\_SlaveStart}!Main API for Modbus Library@{Main API for Modbus Library}}
\doxysubsubsubsection{\texorpdfstring{MODBUS\_SlaveStart()}{MODBUS\_SlaveStart()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga9a17402983188566254b7096342ba69e} 
HAL\+\_\+\+Status\+Type\+Def MODBUS\+\_\+\+Slave\+Start (\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})}



Запуск слейв модбас. 


\begin{DoxyParams}{Parameters}
{\em hmodbus} & Указатель на хендлер RS. \\
\hline
{\em modbus\+\_\+msg} & Указатель на структуру сообщения. (NULL чтобы использовать дефолтную)\\
\hline
\end{DoxyParams}
Конфигурирует ID, таймаут и режим hmodbus 

Definition at line \mbox{\hyperlink{modbus_8c_source_l00105}{105}} of file \mbox{\hyperlink{modbus_8c_source}{modbus.\+c}}.

\Hypertarget{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga19090cabfba2345391e37398125a2f55}\index{Main API for Modbus Library@{Main API for Modbus Library}!MODBUS\_MasterRequest@{MODBUS\_MasterRequest}}
\index{MODBUS\_MasterRequest@{MODBUS\_MasterRequest}!Main API for Modbus Library@{Main API for Modbus Library}}
\doxysubsubsubsection{\texorpdfstring{MODBUS\_MasterRequest()}{MODBUS\_MasterRequest()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga19090cabfba2345391e37398125a2f55} 
HAL\+\_\+\+Status\+Type\+Def MODBUS\+\_\+\+Master\+Request (\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}{, }\item[{void(\texorpdfstring{$\ast$}{*}}]{p\+Clbk~}{)(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}, \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*})}\end{DoxyParamCaption})}



Реквест мастера модбас. 


\begin{DoxyParams}{Parameters}
{\em hmodbus} & Указатель на хендлер RS. \\
\hline
{\em modbus\+\_\+msg} & Указатель на структуру сообщения\\
\hline
\end{DoxyParams}
Конфигурирует ID, таймаут и режим hmodbus 

Definition at line \mbox{\hyperlink{modbus_8c_source_l00136}{136}} of file \mbox{\hyperlink{modbus_8c_source}{modbus.\+c}}.

\input{group___m_o_d_b_u_s___l_e_g_a_c_y___a_p_i}
\input{group___m_o_d_b_u_s___d_a_t_a___a_c_c_e_s_s___f_u_n_c_t_i_o_n_s}
\input{group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g}
