\doxysection{E\+:/.WORK/\+STM32/\+Diod\+\_\+\+Test/diode\+\_\+tester/\+Core/\+Modbus/\+Inc/modbus\+\_\+core.h File Reference}
\hypertarget{modbus__core_8h}{}\label{modbus__core_8h}\index{E:/.WORK/STM32/Diod\_Test/diode\_tester/Core/Modbus/Inc/modbus\_core.h@{E:/.WORK/STM32/Diod\_Test/diode\_tester/Core/Modbus/Inc/modbus\_core.h}}


Ядро Modbus протокола -\/ определения и структуры  


{\ttfamily \#include "{}modbus\+\_\+config.\+h"{}}\newline
{\ttfamily \#include "{}modbus\+\_\+data.\+h"{}}\newline
{\ttfamily \#include "{}\+\_\+\+\_\+crc\+\_\+algs.\+h"{}}\newline
{\ttfamily \#include "{}\+\_\+\+\_\+modbus\+\_\+compat.\+h"{}}\newline
Include dependency graph for modbus\+\_\+core.\+h\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{modbus__core_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{modbus__core_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{struct_m_b___dev_id_msg_type_def}{MB\+\_\+\+Dev\+Id\+Msg\+Type\+Def}}
\begin{DoxyCompactList}\small\item\em Structure for device identifications message type. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}}
\begin{DoxyCompactList}\small\item\em Structure for modbus messsage. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gae135b86915da05ee9991ef1c50d3527f}{Transaction\+ID\+\_\+size}}~2
\begin{DoxyCompactList}\small\item\em size of (Transaction ID) \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga9d21532e66376b674c8bc7523d51350e}{Protocol\+ID\+\_\+size}}~2
\begin{DoxyCompactList}\small\item\em size of (Protocol ID) \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga69ca2a9dbd269a5b39dd5d29a7601a12}{PDULength\+\_\+size}}~2
\begin{DoxyCompactList}\small\item\em size of (PDU Length) \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga1be71951697002df6f3259ca41dc4853}{Mb\+Addr\+\_\+\+SIZE}}~1
\begin{DoxyCompactList}\small\item\em size of (Slave Addr) \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga3372a9da9b653cd351256d2e805a1b5b}{Func\+\_\+\+Code\+\_\+\+SIZE}}~1
\begin{DoxyCompactList}\small\item\em size of (Function Code) \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gab4b8423205cc250a9f050f4fff252d5d}{Addr\+\_\+\+SIZE}}~2
\begin{DoxyCompactList}\small\item\em size of (Address) \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gab4ed36ca923f2c451475f233124f24c4}{Qnt\+\_\+\+SIZE}}~2
\begin{DoxyCompactList}\small\item\em size of (Quantity) \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga2141ab64ec40fd3e7bfaafcf02f1c81b}{Byte\+Cnt\+\_\+\+SIZE}}~1
\begin{DoxyCompactList}\small\item\em size of (Byte Count) \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gaf55149bc1f05cf18af067a302e31e3f9}{DATA\+\_\+\+SIZE}}~125
\begin{DoxyCompactList}\small\item\em maximum number of data\+: DWORD (NOT MESSAGE SIZE) \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gaa93e89217587fdff12bf43b5d7f54f74}{CRC\+\_\+\+SIZE}}~2
\begin{DoxyCompactList}\small\item\em size of (Mb\+CRC) in bytes \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga600f4a134e94bc9ddf7a37d8f49cadcc}{INFO\+\_\+\+SIZE\+\_\+\+MAX}}~(\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga1be71951697002df6f3259ca41dc4853}{Mb\+Addr\+\_\+\+SIZE}}+\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga3372a9da9b653cd351256d2e805a1b5b}{Func\+\_\+\+Code\+\_\+\+SIZE}}+\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gab4b8423205cc250a9f050f4fff252d5d}{Addr\+\_\+\+SIZE}}+\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gab4ed36ca923f2c451475f233124f24c4}{Qnt\+\_\+\+SIZE}}+\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga2141ab64ec40fd3e7bfaafcf02f1c81b}{Byte\+Cnt\+\_\+\+SIZE}})
\begin{DoxyCompactList}\small\item\em Size of whole RTU message. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga18eb6d0d9fdb6274341e892e2b41d88b}{RX\+\_\+\+FIRST\+\_\+\+PART\+\_\+\+SIZE}}~\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga600f4a134e94bc9ddf7a37d8f49cadcc}{INFO\+\_\+\+SIZE\+\_\+\+MAX}}
\begin{DoxyCompactList}\small\item\em Size of first part of message that will be received first receive info part of message, than defines size of rest message. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga7d1e9e8bb8f40ce788836da0739f897c}{MSG\+\_\+\+SIZE\+\_\+\+MAX}}~(\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga600f4a134e94bc9ddf7a37d8f49cadcc}{INFO\+\_\+\+SIZE\+\_\+\+MAX}} + \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gaf55149bc1f05cf18af067a302e31e3f9}{DATA\+\_\+\+SIZE}}\texorpdfstring{$\ast$}{*}2 + \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gaa93e89217587fdff12bf43b5d7f54f74}{CRC\+\_\+\+SIZE}})
\begin{DoxyCompactList}\small\item\em Size of buffer\+: max size of whole message. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga822b0fd9ae9ff25dfa6748473e8e8627}{FC\+\_\+\+ERR\+\_\+\+VALUES\+\_\+\+START}}~0x80U
\begin{DoxyCompactList}\small\item\em from this value starts error func codes \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gaed24f1f06633b92de65f4fab2b4e005b}{MB\+\_\+\+Set\+\_\+\+Arr16\+\_\+\+Ptr}}(\+\_\+arr\+\_\+)
\begin{DoxyCompactList}\small\item\em Macros to set pointer to 16-\/bit array. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga938b632e20454741b2a7f97928583776}{MB\+\_\+\+Set\+\_\+\+Register\+\_\+\+Ptr}}(\+\_\+parr\+\_\+,  \+\_\+addr\+\_\+)
\begin{DoxyCompactList}\small\item\em Macros to set pointer to register. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga9648b00f955b16e107b901812031cee3}{MB\+\_\+\+Set\+\_\+\+Coil\+\_\+\+Reg\+\_\+\+Ptr}}(\+\_\+parr\+\_\+,  \+\_\+coil\+\_\+)
\begin{DoxyCompactList}\small\item\em Макрос для установки указателя на регистр, содержащий запрашиваемый коил \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga6ab08ed18663bc72f80e4e60b30ab429}{MB\+\_\+\+Set\+\_\+\+Coil\+\_\+\+Mask}}(\+\_\+coil\+\_\+)
\begin{DoxyCompactList}\small\item\em Макрос для установки маски, чтобы выделить запрашиваемый коил из регистра \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___i_n_t_e_r_n_a_l_gaa9bf5702da5f1816f1fa5509b04283dd}{Register\+Type\+\_\+\+Holding}}~0
\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___i_n_t_e_r_n_a_l_ga15d77285b100f198575359d0bcbf8342}{Register\+Type\+\_\+\+Input}}~1
\item 
\#define \mbox{\hyperlink{group___m_o_d_b_u_s___i_n_t_e_r_n_a_l_ga56e27a21e4cc0af673a714b4a822f62e}{Register\+Type\+\_\+\+Discrete}}~2
\end{DoxyCompactItemize}
\doxysubsubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \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}} \{ \newline
\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga4ade64cb3fabf37f010c1e297489980caa6980c7a8d924dd975b8fa06a300eb74}{ET\+\_\+\+NO\+\_\+\+ERRORS}} = 0x00
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga4ade64cb3fabf37f010c1e297489980cae81af967ab54904738ee391eb7478ad1}{ET\+\_\+\+ILLEGAL\+\_\+\+FUNCTION}} = 0x01
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga4ade64cb3fabf37f010c1e297489980caea312adaf18aa7ebd17aca8883550425}{ET\+\_\+\+ILLEGAL\+\_\+\+DATA\+\_\+\+ADDRESS}} = 0x02
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga4ade64cb3fabf37f010c1e297489980ca47d6168d0692ccb7e09e19084287aba3}{ET\+\_\+\+ILLEGAL\+\_\+\+DATA\+\_\+\+VALUE}} = 0x03
, \newline
\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga4ade64cb3fabf37f010c1e297489980cacae4572933c1b43491d452f912341277}{ET\+\_\+\+SLAVE\+\_\+\+DEVICE\+\_\+\+FAILURE}} = 0x04
 \}
\begin{DoxyCompactList}\small\item\em Enum for modbus exception codes. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga38d42495bf262b70048e6d6a7af175d2}{MB\+\_\+\+Functon\+Type\+Def}} \{ \newline
\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2a399bcd53bc32faca81bbc3d1ff8b5bb6}{FC\+\_\+\+R\+\_\+\+COILS}} = 0x01
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2a438c348676901d3e0263fd1f8d94bf11}{FC\+\_\+\+R\+\_\+\+DISC\+\_\+\+IN}} = 0x02
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2ae03921b16750ef290fdd7d19a08a29a2}{FC\+\_\+\+R\+\_\+\+HOLD\+\_\+\+REGS}} = 0x03
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2a76139e9b7ae78856fd3a297c9f751944}{FC\+\_\+\+R\+\_\+\+IN\+\_\+\+REGS}} = 0x04
, \newline
\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2a832b94af2c427d0daae721da2528f44a}{FC\+\_\+\+W\+\_\+\+COIL}} = 0x05
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2a1b66683f704ef9072329e997312e3b83}{FC\+\_\+\+W\+\_\+\+HOLD\+\_\+\+REG}} = 0x06
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2a43a1b810697ea15ef91008dbc0187127}{FC\+\_\+\+W\+\_\+\+COILS}} = 0x0F
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2affa24c54ee0b59e9810f1dbdc949e684}{FC\+\_\+\+W\+\_\+\+HOLD\+\_\+\+REGS}} = 0x10
, \newline
\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2aa6423de9e908dc38ce9f1c8027ad72ec}{FC\+\_\+\+R\+\_\+\+DIAGNOSTICS}} = 0x08
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2a37ddf147e08b6d205319c31e6750d47c}{FC\+\_\+\+R\+\_\+\+DEVICE\+\_\+\+ID}} = 0x2B
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2a730c5f56799669c612945a55aa9494c4}{FC\+\_\+\+ERR\+\_\+\+R\+\_\+\+COILS}} = FC\+\_\+\+R\+\_\+\+COILS + FC\+\_\+\+ERR\+\_\+\+VALUES\+\_\+\+START
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2a592aee113b711b5976ce914f727c9f77}{FC\+\_\+\+ERR\+\_\+\+R\+\_\+\+DISC\+\_\+\+IN}} = FC\+\_\+\+R\+\_\+\+DISC\+\_\+\+IN + FC\+\_\+\+ERR\+\_\+\+VALUES\+\_\+\+START
, \newline
\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2ad7f2601e81f84b15cc898c490e429dd5}{FC\+\_\+\+ERR\+\_\+\+R\+\_\+\+IN\+\_\+\+REGS}} = FC\+\_\+\+R\+\_\+\+IN\+\_\+\+REGS + FC\+\_\+\+ERR\+\_\+\+VALUES\+\_\+\+START
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2abe215454c122b35aa658a8c11b37a258}{FC\+\_\+\+ERR\+\_\+\+R\+\_\+\+HOLD\+\_\+\+REGS}} = FC\+\_\+\+R\+\_\+\+HOLD\+\_\+\+REGS + FC\+\_\+\+ERR\+\_\+\+VALUES\+\_\+\+START
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2abaa0b334409929c82ec44960d368114b}{FC\+\_\+\+ERR\+\_\+\+W\+\_\+\+COIL}} = FC\+\_\+\+W\+\_\+\+COIL + FC\+\_\+\+ERR\+\_\+\+VALUES\+\_\+\+START
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2a21ba95630e4914c2706e8f48f6839e16}{FC\+\_\+\+ERR\+\_\+\+W\+\_\+\+HOLD\+\_\+\+REG}} = FC\+\_\+\+W\+\_\+\+HOLD\+\_\+\+REG + FC\+\_\+\+ERR\+\_\+\+VALUES\+\_\+\+START
, \newline
\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2af018f1e1deef493cfa1074583e421cc8}{FC\+\_\+\+ERR\+\_\+\+W\+\_\+\+COILS}} = FC\+\_\+\+W\+\_\+\+COILS + FC\+\_\+\+ERR\+\_\+\+VALUES\+\_\+\+START
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2a4de9a680cbe955bc5b30f4c497b06ff8}{FC\+\_\+\+ERR\+\_\+\+W\+\_\+\+HOLD\+\_\+\+REGS}} = FC\+\_\+\+W\+\_\+\+HOLD\+\_\+\+REGS + FC\+\_\+\+ERR\+\_\+\+VALUES\+\_\+\+START
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2a8fd1f1aa92af4555bafd96c835ea473c}{FC\+\_\+\+ERR\+\_\+\+R\+\_\+\+DIAGNOSTIC}} = FC\+\_\+\+R\+\_\+\+DIAGNOSTICS + FC\+\_\+\+ERR\+\_\+\+VALUES\+\_\+\+START
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga38d42495bf262b70048e6d6a7af175d2a1577351173a660924f7bf33d4c2ec003}{MB\+\_\+\+FC\+\_\+\+ERR\+\_\+\+R\+\_\+\+DEVICE\+\_\+\+INFO}} = FC\+\_\+\+R\+\_\+\+DEVICE\+\_\+\+ID + FC\+\_\+\+ERR\+\_\+\+VALUES\+\_\+\+START
 \}
\begin{DoxyCompactList}\small\item\em Enum for modbus func codes. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gaeaafeacbd239428c7e59e40d2df16ae2}{MB\+\_\+\+MEIType\+Def}} \{ {\bfseries MEI\+\_\+\+DEVICE\+\_\+\+IDENTIFICATIONS} = 0x0E
 \}
\begin{DoxyCompactList}\small\item\em Enum for MEI func codes. \end{DoxyCompactList}\item 
enum \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga63c3a2a3adb05f591399e2c4def7c14a}{Read\+Dev\+Id}} \{ \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga63c3a2a3adb05f591399e2c4def7c14aac792ca720b19c89783b70cdeba0c9248}{RID\+\_\+\+BASIC\+\_\+\+IDENTIFICATIONS}} = 0x01
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga63c3a2a3adb05f591399e2c4def7c14aab930f13868df5243566759bbcf52a19d}{RID\+\_\+\+REGULAR\+\_\+\+IDENTIFICATIONS}} = 0x02
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga63c3a2a3adb05f591399e2c4def7c14aaca82385c8d88d6d762c369b4da4c4db8}{RID\+\_\+\+EXTENDED\+\_\+\+IDENTIFICATIONS}} = 0x03
, \mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_gga63c3a2a3adb05f591399e2c4def7c14aabb8d7527a3aabb1eac974474255d0c5e}{RID\+\_\+\+SPEDIFIC\+\_\+\+IDENTIFICATIONS}} = 0x04
 \}
\begin{DoxyCompactList}\small\item\em Enum for Read Device Id codes. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\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}\end{DoxyCompactItemize}
\doxysubsubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{struct_r_s___msg_type_def}{RS\+\_\+\+Msg\+Type\+Def}} \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}}
\begin{DoxyCompactList}\small\item\em Default Message Struct for Modbus. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Ядро Modbus протокола -\/ определения и структуры 



Definition in file \mbox{\hyperlink{modbus__core_8h_source}{modbus\+\_\+core.\+h}}.

