\doxysubsubsection{Internal Process Functions }
\hypertarget{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s}{}\label{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s}\index{Internal Process Functions@{Internal Process Functions}}


Функции обработки запросов модбас  


Collaboration diagram for Internal Process Functions\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s}
\end{center}
\end{figure}
\doxysubsubsubsubsection*{Topics}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{group___m_o_d_b_u_s___m_a_s_t_e_r}{Modbus master funtions}}
\begin{DoxyCompactList}\small\item\em Функции для работы в режиме Master. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___m_o_d_b_u_s___s_l_a_v_e}{Modbus slave funtions}}
\begin{DoxyCompactList}\small\item\em Функции для работы в режиме Slave. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
uint8\+\_\+t \mbox{\hyperlink{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga39a02e8e4911a74a619d2ef29adcbad8}{MB\+\_\+\+Process\+\_\+\+Read\+\_\+\+Coils}} (\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}modbus\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Обработать функцию Read Coils (01 -\/ 0x01). \end{DoxyCompactList}\item 
uint8\+\_\+t \mbox{\hyperlink{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga918102931c9125a5e44a30e103d17e14}{MB\+\_\+\+Process\+\_\+\+Write\+\_\+\+Single\+\_\+\+Coil}} (\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}modbus\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Обработать функцию Write Single Coils (05 -\/ 0x05). \end{DoxyCompactList}\item 
uint8\+\_\+t \mbox{\hyperlink{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga6f4498cec8634820025aaa9c4623ba55}{MB\+\_\+\+Process\+\_\+\+Write\+\_\+\+Miltuple\+\_\+\+Coils}} (\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}modbus\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Обработать функцию Write Multiple Coils (15 -\/ 0x0F). \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga4ade64cb3fabf37f010c1e297489980c}{MB\+\_\+\+Exception\+Type\+Def}} \mbox{\hyperlink{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga278ca9791c69aef8adeb9e7c4b273c50}{MB\+\_\+\+Check\+\_\+\+Address\+\_\+\+For\+\_\+\+Arr}} (uint16\+\_\+t Addr, uint16\+\_\+t Qnt, uint16\+\_\+t R\+\_\+\+ARR\+\_\+\+ADDR, uint16\+\_\+t R\+\_\+\+ARR\+\_\+\+NUMB)
\begin{DoxyCompactList}\small\item\em Check is address valid for certain array. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga4ade64cb3fabf37f010c1e297489980c}{MB\+\_\+\+Exception\+Type\+Def}} \mbox{\hyperlink{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga1e90bb28a4cf997250daab6470d5ffe3}{MB\+\_\+\+Define\+Registers\+Address}} (uint16\+\_\+t \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}p\+Regs, uint16\+\_\+t Addr, uint16\+\_\+t Qnt, uint8\+\_\+t Register\+Type)
\begin{DoxyCompactList}\small\item\em Define Address Origin for Input/\+Holding Registers. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga4ade64cb3fabf37f010c1e297489980c}{MB\+\_\+\+Exception\+Type\+Def}} \mbox{\hyperlink{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_gade717a6829a062a8a198bd933c8b2221}{MB\+\_\+\+Define\+Coils\+Address}} (uint16\+\_\+t \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}p\+Coils, uint16\+\_\+t Addr, uint16\+\_\+t Qnt, uint16\+\_\+t \texorpdfstring{$\ast$}{*}start\+\_\+shift, uint8\+\_\+t Write\+Flag)
\begin{DoxyCompactList}\small\item\em Define Address Origin for coils. \end{DoxyCompactList}\item 
uint8\+\_\+t \mbox{\hyperlink{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga279ce6d9d175a43714862dc6661e7096}{MB\+\_\+\+Process\+\_\+\+Read\+\_\+\+Device\+\_\+\+Identifications}} (\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}modbus\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Обработать функцию Read Device Identifications (43/14 -\/ 0x2\+B/0E). \end{DoxyCompactList}\item 
uint8\+\_\+t \mbox{\hyperlink{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga6bbfc53b20b4698a08d79851b5db65f0}{MB\+\_\+\+Process\+\_\+\+Diagnostics}} (\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}modbus\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Обработать функцию Diagnostics (Serial Line only) (0x08) \end{DoxyCompactList}\item 
uint8\+\_\+t \mbox{\hyperlink{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_gac28127757ba25fe0b611612a785f663b}{MB\+\_\+\+Process\+\_\+\+Read\+\_\+\+Hold\+\_\+\+Regs}} (\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}modbus\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Обработать функцию Read Holding Registers (03 -\/ 0x03). \end{DoxyCompactList}\item 
uint8\+\_\+t \mbox{\hyperlink{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga02e192a3d9f31737c45f074a04b37648}{MB\+\_\+\+Process\+\_\+\+Write\+\_\+\+Single\+\_\+\+Reg}} (\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}modbus\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Обработать функцию Write Single Register (06 -\/ 0x06). \end{DoxyCompactList}\item 
uint8\+\_\+t \mbox{\hyperlink{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga9c6ab159edb8dda6548b2228773ce919}{MB\+\_\+\+Process\+\_\+\+Write\+\_\+\+Miltuple\+\_\+\+Regs}} (\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}modbus\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Обработать функцию Write Multiple Registers (16 -\/ 0x10). \end{DoxyCompactList}\item 
uint8\+\_\+t \mbox{\hyperlink{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_gad13d010f43c7ab08a85667b9e1906b7d}{MB\+\_\+\+Process\+\_\+\+Read\+\_\+\+Input\+\_\+\+Regs}} (\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}modbus\+\_\+msg)
\begin{DoxyCompactList}\small\item\em Обработать функцию Read Input Registers (04 -\/ 0x04). \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsubsubsection{Detailed Description}
Функции обработки запросов модбас 



\label{doc-func-members}
\Hypertarget{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_doc-func-members}
\doxysubsubsubsection{Function Documentation}
\Hypertarget{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga39a02e8e4911a74a619d2ef29adcbad8}\index{Internal Process Functions@{Internal Process Functions}!MB\_Process\_Read\_Coils@{MB\_Process\_Read\_Coils}}
\index{MB\_Process\_Read\_Coils@{MB\_Process\_Read\_Coils}!Internal Process Functions@{Internal Process Functions}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_Process\_Read\_Coils()}{MB\_Process\_Read\_Coils()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga39a02e8e4911a74a619d2ef29adcbad8} 
uint8\+\_\+t MB\+\_\+\+Process\+\_\+\+Read\+\_\+\+Coils (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{modbus\+\_\+msg}{}\end{DoxyParamCaption})}



Обработать функцию Read Coils (01 -\/ 0x01). 


\begin{DoxyParams}{Parameters}
{\em modbus\+\_\+msg} & Указатель на структуру собщения modbus. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
f\+Message\+Handled Статус о результате обработки комманды.
\end{DoxyReturn}
Обработка команды Read Coils. 

Definition at line \mbox{\hyperlink{modbus__coils_8c_source_l00103}{103}} of file \mbox{\hyperlink{modbus__coils_8c_source}{modbus\+\_\+coils.\+c}}.

\Hypertarget{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga918102931c9125a5e44a30e103d17e14}\index{Internal Process Functions@{Internal Process Functions}!MB\_Process\_Write\_Single\_Coil@{MB\_Process\_Write\_Single\_Coil}}
\index{MB\_Process\_Write\_Single\_Coil@{MB\_Process\_Write\_Single\_Coil}!Internal Process Functions@{Internal Process Functions}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_Process\_Write\_Single\_Coil()}{MB\_Process\_Write\_Single\_Coil()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga918102931c9125a5e44a30e103d17e14} 
uint8\+\_\+t MB\+\_\+\+Process\+\_\+\+Write\+\_\+\+Single\+\_\+\+Coil (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{modbus\+\_\+msg}{}\end{DoxyParamCaption})}



Обработать функцию Write Single Coils (05 -\/ 0x05). 


\begin{DoxyParams}{Parameters}
{\em modbus\+\_\+msg} & Указатель на структуру собщения modbus. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
f\+Message\+Handled Статус о результате обработки комманды.
\end{DoxyReturn}
Обработка команды Write Single Coils. 

Definition at line \mbox{\hyperlink{modbus__coils_8c_source_l00156}{156}} of file \mbox{\hyperlink{modbus__coils_8c_source}{modbus\+\_\+coils.\+c}}.

\Hypertarget{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga6f4498cec8634820025aaa9c4623ba55}\index{Internal Process Functions@{Internal Process Functions}!MB\_Process\_Write\_Miltuple\_Coils@{MB\_Process\_Write\_Miltuple\_Coils}}
\index{MB\_Process\_Write\_Miltuple\_Coils@{MB\_Process\_Write\_Miltuple\_Coils}!Internal Process Functions@{Internal Process Functions}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_Process\_Write\_Miltuple\_Coils()}{MB\_Process\_Write\_Miltuple\_Coils()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga6f4498cec8634820025aaa9c4623ba55} 
uint8\+\_\+t MB\+\_\+\+Process\+\_\+\+Write\+\_\+\+Miltuple\+\_\+\+Coils (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{modbus\+\_\+msg}{}\end{DoxyParamCaption})}



Обработать функцию Write Multiple Coils (15 -\/ 0x0F). 


\begin{DoxyParams}{Parameters}
{\em modbus\+\_\+msg} & Указатель на структуру собщения modbus. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
f\+Message\+Handled Статус о результате обработки комманды.
\end{DoxyReturn}
Обработка команды Write Multiple Coils. 

Definition at line \mbox{\hyperlink{modbus__coils_8c_source_l00187}{187}} of file \mbox{\hyperlink{modbus__coils_8c_source}{modbus\+\_\+coils.\+c}}.

\Hypertarget{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga278ca9791c69aef8adeb9e7c4b273c50}\index{Internal Process Functions@{Internal Process Functions}!MB\_Check\_Address\_For\_Arr@{MB\_Check\_Address\_For\_Arr}}
\index{MB\_Check\_Address\_For\_Arr@{MB\_Check\_Address\_For\_Arr}!Internal Process Functions@{Internal Process Functions}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_Check\_Address\_For\_Arr()}{MB\_Check\_Address\_For\_Arr()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga278ca9791c69aef8adeb9e7c4b273c50} 
\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga4ade64cb3fabf37f010c1e297489980c}{MB\+\_\+\+Exception\+Type\+Def}} MB\+\_\+\+Check\+\_\+\+Address\+\_\+\+For\+\_\+\+Arr (\begin{DoxyParamCaption}\item[{uint16\+\_\+t}]{Addr}{, }\item[{uint16\+\_\+t}]{Qnt}{, }\item[{uint16\+\_\+t}]{R\+\_\+\+ARR\+\_\+\+ADDR}{, }\item[{uint16\+\_\+t}]{R\+\_\+\+ARR\+\_\+\+NUMB}{}\end{DoxyParamCaption})}



Check is address valid for certain array. 


\begin{DoxyParams}{Parameters}
{\em Addr} & Начальный адресс. \\
\hline
{\em Qnt} & Количество запрашиваемых элементов. \\
\hline
{\em R\+\_\+\+ARR\+\_\+\+ADDR} & Начальный адресс массива R\+\_\+\+ARR. \\
\hline
{\em R\+\_\+\+ARR\+\_\+\+NUMB} & Количество элементов в массиве R\+\_\+\+ARR. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Exception\+Code -\/ ET\+\_\+\+ILLEGAL\+\_\+\+DATA\+\_\+\+ADRESS если адресс недействителен, и ET\+\_\+\+NO\+\_\+\+ERRORS если все ок.
\end{DoxyReturn}
Позволяет определить, принадлежит ли адресс Addr массиву R\+\_\+\+ARR\+: Если адресс Addr находится в диапазоне адрессов массива R\+\_\+\+ARR, то возвращаем NO\+\_\+\+ERROR. Если адресс Addr находится за пределами адрессов массива R\+\_\+\+ARR -\/ ET\+\_\+\+ILLEGAL\+\_\+\+DATA\+\_\+\+ADDRESSю. 

Definition at line \mbox{\hyperlink{____modbus__data_8c_source_l00038}{38}} of file \mbox{\hyperlink{____modbus__data_8c_source}{\+\_\+\+\_\+modbus\+\_\+data.\+c}}.

\Hypertarget{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga1e90bb28a4cf997250daab6470d5ffe3}\index{Internal Process Functions@{Internal Process Functions}!MB\_DefineRegistersAddress@{MB\_DefineRegistersAddress}}
\index{MB\_DefineRegistersAddress@{MB\_DefineRegistersAddress}!Internal Process Functions@{Internal Process Functions}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_DefineRegistersAddress()}{MB\_DefineRegistersAddress()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga1e90bb28a4cf997250daab6470d5ffe3} 
\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga4ade64cb3fabf37f010c1e297489980c}{MB\+\_\+\+Exception\+Type\+Def}} MB\+\_\+\+Define\+Registers\+Address (\begin{DoxyParamCaption}\item[{uint16\+\_\+t \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{p\+Regs}{, }\item[{uint16\+\_\+t}]{Addr}{, }\item[{uint16\+\_\+t}]{Qnt}{, }\item[{uint8\+\_\+t}]{Register\+Type}{}\end{DoxyParamCaption})}



Define Address Origin for Input/\+Holding Registers. 


\begin{DoxyParams}{Parameters}
{\em p\+Regs} & Указатель на указатель регистров. \\
\hline
{\em Addr} & Адрес начального регистра. \\
\hline
{\em Qnt} & Количество запрашиваемых регистров. \\
\hline
{\em Write\+Flag} & Флаг регистр нужны для чтения или записи. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Exception\+Code Код исключения если есть, и ET\+\_\+\+NO\+\_\+\+ERRORS если нет.
\end{DoxyReturn}
Определение адреса начального регистра. \begin{DoxyNote}{Note}
Write\+Flag пока не используется. 
\end{DoxyNote}


Definition at line \mbox{\hyperlink{____modbus__data_8c_source_l00066}{66}} of file \mbox{\hyperlink{____modbus__data_8c_source}{\+\_\+\+\_\+modbus\+\_\+data.\+c}}.

\Hypertarget{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_gade717a6829a062a8a198bd933c8b2221}\index{Internal Process Functions@{Internal Process Functions}!MB\_DefineCoilsAddress@{MB\_DefineCoilsAddress}}
\index{MB\_DefineCoilsAddress@{MB\_DefineCoilsAddress}!Internal Process Functions@{Internal Process Functions}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_DefineCoilsAddress()}{MB\_DefineCoilsAddress()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_gade717a6829a062a8a198bd933c8b2221} 
\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga4ade64cb3fabf37f010c1e297489980c}{MB\+\_\+\+Exception\+Type\+Def}} MB\+\_\+\+Define\+Coils\+Address (\begin{DoxyParamCaption}\item[{uint16\+\_\+t \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{p\+Coils}{, }\item[{uint16\+\_\+t}]{Addr}{, }\item[{uint16\+\_\+t}]{Qnt}{, }\item[{uint16\+\_\+t \texorpdfstring{$\ast$}{*}}]{start\+\_\+shift}{, }\item[{uint8\+\_\+t}]{Write\+Flag}{}\end{DoxyParamCaption})}



Define Address Origin for coils. 


\begin{DoxyParams}{Parameters}
{\em p\+Coils} & Указатель на указатель коилов. \\
\hline
{\em Addr} & Адресс начального коила. \\
\hline
{\em Qnt} & Количество запрашиваемых коилов. \\
\hline
{\em start\+\_\+shift} & Указатель на переменную содержащую сдвиг внутри регистра для начального коила. \\
\hline
{\em Write\+Flag} & Флаг коилы нужны для чтения или записи. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Exception\+Code Код исключения если есть, и ET\+\_\+\+NO\+\_\+\+ERRORS если нет.
\end{DoxyReturn}
Определение адреса начального регистра запрашиваемых коилов. \begin{DoxyNote}{Note}
Write\+Flag используется для определния регистров GPIO\+: ODR или IDR. 
\end{DoxyNote}


Definition at line \mbox{\hyperlink{____modbus__data_8c_source_l00119}{119}} of file \mbox{\hyperlink{____modbus__data_8c_source}{\+\_\+\+\_\+modbus\+\_\+data.\+c}}.

\Hypertarget{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga279ce6d9d175a43714862dc6661e7096}\index{Internal Process Functions@{Internal Process Functions}!MB\_Process\_Read\_Device\_Identifications@{MB\_Process\_Read\_Device\_Identifications}}
\index{MB\_Process\_Read\_Device\_Identifications@{MB\_Process\_Read\_Device\_Identifications}!Internal Process Functions@{Internal Process Functions}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_Process\_Read\_Device\_Identifications()}{MB\_Process\_Read\_Device\_Identifications()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga279ce6d9d175a43714862dc6661e7096} 
uint8\+\_\+t MB\+\_\+\+Process\+\_\+\+Read\+\_\+\+Device\+\_\+\+Identifications (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{modbus\+\_\+msg}{}\end{DoxyParamCaption})}



Обработать функцию Read Device Identifications (43/14 -\/ 0x2\+B/0E). 


\begin{DoxyParams}{Parameters}
{\em modbus\+\_\+msg} & Указатель на структуру собщения modbus. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
f\+Message\+Handled Статус о результате обработки комманды.
\end{DoxyReturn}
Обработка команды Write Single Register. 

Definition at line \mbox{\hyperlink{modbus__devid_8c_source_l00112}{112}} of file \mbox{\hyperlink{modbus__devid_8c_source}{modbus\+\_\+devid.\+c}}.

\Hypertarget{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga6bbfc53b20b4698a08d79851b5db65f0}\index{Internal Process Functions@{Internal Process Functions}!MB\_Process\_Diagnostics@{MB\_Process\_Diagnostics}}
\index{MB\_Process\_Diagnostics@{MB\_Process\_Diagnostics}!Internal Process Functions@{Internal Process Functions}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_Process\_Diagnostics()}{MB\_Process\_Diagnostics()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga6bbfc53b20b4698a08d79851b5db65f0} 
uint8\+\_\+t MB\+\_\+\+Process\+\_\+\+Diagnostics (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{modbus\+\_\+msg}{}\end{DoxyParamCaption})}



Обработать функцию Diagnostics (Serial Line only) (0x08) 


\begin{DoxyParams}{Parameters}
{\em modbus\+\_\+msg} & Указатель на структуру сообщения modbus \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
f\+Message\+Handled Статус обработки команды 
\end{DoxyReturn}


Definition at line \mbox{\hyperlink{modbus__diag_8c_source_l00075}{75}} of file \mbox{\hyperlink{modbus__diag_8c_source}{modbus\+\_\+diag.\+c}}.

\Hypertarget{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_gac28127757ba25fe0b611612a785f663b}\index{Internal Process Functions@{Internal Process Functions}!MB\_Process\_Read\_Hold\_Regs@{MB\_Process\_Read\_Hold\_Regs}}
\index{MB\_Process\_Read\_Hold\_Regs@{MB\_Process\_Read\_Hold\_Regs}!Internal Process Functions@{Internal Process Functions}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_Process\_Read\_Hold\_Regs()}{MB\_Process\_Read\_Hold\_Regs()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_gac28127757ba25fe0b611612a785f663b} 
uint8\+\_\+t MB\+\_\+\+Process\+\_\+\+Read\+\_\+\+Hold\+\_\+\+Regs (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{modbus\+\_\+msg}{}\end{DoxyParamCaption})}



Обработать функцию Read Holding Registers (03 -\/ 0x03). 


\begin{DoxyParams}{Parameters}
{\em modbus\+\_\+msg} & Указатель на структуру собщения modbus. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
f\+Message\+Handled Статус о результате обработки комманды.
\end{DoxyReturn}
Обработка команды Read Holding Registers. 

Definition at line \mbox{\hyperlink{modbus__holdregs_8c_source_l00092}{92}} of file \mbox{\hyperlink{modbus__holdregs_8c_source}{modbus\+\_\+holdregs.\+c}}.

\Hypertarget{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga02e192a3d9f31737c45f074a04b37648}\index{Internal Process Functions@{Internal Process Functions}!MB\_Process\_Write\_Single\_Reg@{MB\_Process\_Write\_Single\_Reg}}
\index{MB\_Process\_Write\_Single\_Reg@{MB\_Process\_Write\_Single\_Reg}!Internal Process Functions@{Internal Process Functions}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_Process\_Write\_Single\_Reg()}{MB\_Process\_Write\_Single\_Reg()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga02e192a3d9f31737c45f074a04b37648} 
uint8\+\_\+t MB\+\_\+\+Process\+\_\+\+Write\+\_\+\+Single\+\_\+\+Reg (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{modbus\+\_\+msg}{}\end{DoxyParamCaption})}



Обработать функцию Write Single Register (06 -\/ 0x06). 


\begin{DoxyParams}{Parameters}
{\em modbus\+\_\+msg} & Указатель на структуру собщения modbus. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
f\+Message\+Handled Статус о результате обработки комманды.
\end{DoxyReturn}
Обработка команды Write Single Register. 

Definition at line \mbox{\hyperlink{modbus__holdregs_8c_source_l00120}{120}} of file \mbox{\hyperlink{modbus__holdregs_8c_source}{modbus\+\_\+holdregs.\+c}}.

\Hypertarget{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga9c6ab159edb8dda6548b2228773ce919}\index{Internal Process Functions@{Internal Process Functions}!MB\_Process\_Write\_Miltuple\_Regs@{MB\_Process\_Write\_Miltuple\_Regs}}
\index{MB\_Process\_Write\_Miltuple\_Regs@{MB\_Process\_Write\_Miltuple\_Regs}!Internal Process Functions@{Internal Process Functions}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_Process\_Write\_Miltuple\_Regs()}{MB\_Process\_Write\_Miltuple\_Regs()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_ga9c6ab159edb8dda6548b2228773ce919} 
uint8\+\_\+t MB\+\_\+\+Process\+\_\+\+Write\+\_\+\+Miltuple\+\_\+\+Regs (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{modbus\+\_\+msg}{}\end{DoxyParamCaption})}



Обработать функцию Write Multiple Registers (16 -\/ 0x10). 


\begin{DoxyParams}{Parameters}
{\em modbus\+\_\+msg} & Указатель на структуру собщения modbus. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
f\+Message\+Handled Статус о результате обработки комманды.
\end{DoxyReturn}
Обработка команды Write Multiple Registers. 

Definition at line \mbox{\hyperlink{modbus__holdregs_8c_source_l00139}{139}} of file \mbox{\hyperlink{modbus__holdregs_8c_source}{modbus\+\_\+holdregs.\+c}}.

\Hypertarget{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_gad13d010f43c7ab08a85667b9e1906b7d}\index{Internal Process Functions@{Internal Process Functions}!MB\_Process\_Read\_Input\_Regs@{MB\_Process\_Read\_Input\_Regs}}
\index{MB\_Process\_Read\_Input\_Regs@{MB\_Process\_Read\_Input\_Regs}!Internal Process Functions@{Internal Process Functions}}
\doxysubsubsubsubsection{\texorpdfstring{MB\_Process\_Read\_Input\_Regs()}{MB\_Process\_Read\_Input\_Regs()}}
{\footnotesize\ttfamily \label{group___m_o_d_b_u_s___c_m_d___p_r_o_c_e_s_s___f_u_n_c_t_i_o_n_s_gad13d010f43c7ab08a85667b9e1906b7d} 
uint8\+\_\+t MB\+\_\+\+Process\+\_\+\+Read\+\_\+\+Input\+\_\+\+Regs (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{modbus\+\_\+msg}{}\end{DoxyParamCaption})}



Обработать функцию Read Input Registers (04 -\/ 0x04). 


\begin{DoxyParams}{Parameters}
{\em modbus\+\_\+msg} & Указатель на структуру собщения modbus. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
f\+Message\+Handled Статус о результате обработки комманды.
\end{DoxyReturn}
Обработка команды Read Input Registers. 

Definition at line \mbox{\hyperlink{modbus__inputregs_8c_source_l00087}{87}} of file \mbox{\hyperlink{modbus__inputregs_8c_source}{modbus\+\_\+inputregs.\+c}}.

\input{group___m_o_d_b_u_s___m_a_s_t_e_r}
\input{group___m_o_d_b_u_s___s_l_a_v_e}
