\doxysection{modbus.\+c}
\hypertarget{modbus_8c_source}{}\label{modbus_8c_source}\index{E:/.WORK/STM32/Diod\_Test/diode\_tester/Core/Modbus/Src/modbus.c@{E:/.WORK/STM32/Diod\_Test/diode\_tester/Core/Modbus/Src/modbus.c}}
\mbox{\hyperlink{modbus_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00001}00001\ \textcolor{comment}{/**\ }}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00002}00002\ \textcolor{comment}{*******************************************************************************}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00003}00003\ \textcolor{comment}{*\ @file\ modbus.c}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00004}00004\ \textcolor{comment}{*\ @brief\ Модуль\ для\ реализации\ MODBUS.}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00005}00005\ \textcolor{comment}{*******************************************************************************}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00006}00006\ \textcolor{comment}{*\ @details\ }}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00007}00007\ \textcolor{comment}{Файл\ содержит\ реализацию\ функций\ работы\ с\ Modbus.}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00008}00008\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00009}00009\ \textcolor{comment}{@section\ mbapi\ Функции\ и\ макросы}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00010}00010\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00011}00011\ \textcolor{comment}{\#\#\#\ Инициализация:}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00012}00012\ \textcolor{comment}{-\/\ MODBUS\_FirstInit()\ \ \ \ \ \ \ \ —\ Инициализация\ Modbus\ (подключение\ UART,\ TIM)}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00013}00013\ \textcolor{comment}{-\/\ MODBUS\_Config()\ \ \ \ \ \ \ \ \ \ \ —\ Конфигурацмя\ Modbus\ (ID,\ Timeout).}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00014}00014\ \textcolor{comment}{-\/\ MODBUS\_SlaveStart()\ \ \ \ \ \ \ —\ Запуск\ Modbus\ как\ Slave.}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00015}00015\ \textcolor{comment}{-\/\ MODBUS\_MasterRequest()\ \ \ \ —\ Отправить\ запрос\ в\ MODBUS\ как\ Master.}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00016}00016\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00017}00017\ \textcolor{comment}{\#\#\#\ Функции\ для\ работы\ с\ RS\ (UART):}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00018}00018\ \textcolor{comment}{-\/\ RS\_Parse\_Message()\ /\ RS\_Collect\_Message()\ —\ Парсинг\ и\ сборка\ сообщения.}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00019}00019\ \textcolor{comment}{-\/\ RS\_Response()\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ —\ Отправка\ ответа.}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00020}00020\ \textcolor{comment}{******************************************************************************/}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00021}00021\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{modbus_8h}{modbus.h}}"{}}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00022}00022\ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00023}00023\ \textcolor{comment}{/*\ MODBUS\ HANDLES\ */}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00024}\mbox{\hyperlink{group___r_s___t_o_o_l_s_gadaef5cb7e494d0fd139199f5b6cbeb86}{00024}}\ \mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_gadaef5cb7e494d0fd139199f5b6cbeb86}{hmodbus1}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Default\ Handle\ for\ Modbus}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00025}\mbox{\hyperlink{group___m_o_d_b_u_s___m_e_s_s_a_g_e___d_e_f_i_n_e_s_ga679c526f339999281b97010876e7a295}{00025}}\ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ \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}};\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{comment}{///<\ Default\ Message\ Struct\ for\ Modbus}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00026}00026\ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00027}00027\ \textcolor{comment}{/*\ DEFINE\ DATA\ FOR\ MODBUS\ */}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00028}00028\ \mbox{\hyperlink{struct_m_b___data_structure_type_def}{MB\_DataStructureTypeDef}}\ MB\_DATA\ =\ \{0\};;\ \ \ \textcolor{comment}{///<\ Coils\ \&\ Registers}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00029}00029\ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00030}00030\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{modbus_8c_ae7c4bdaeae2e9deb8422ae0a0fc64cb4}{MB\_DefaultCallback}}(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hmodbus,\ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *modbus\_msg);}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00031}00031\ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00032}00032\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00033}00033\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/FOR\ USER-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}\textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00034}00034\ \textcolor{comment}{/**\ }}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00035}00035\ \textcolor{comment}{\ \ *\ @brief\ \ \ \ Инициализация\ периферии\ модбас.}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00036}00036\ \textcolor{comment}{\ \ *\ @param\ \ \ \ hmodbus\ Указатель\ на\ хендлер\ RS}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00037}00037\ \textcolor{comment}{\ \ *\ @param\ \ \ \ huart\ \ \ Указатель\ на\ хендлер\ UART}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00038}00038\ \textcolor{comment}{\ \ *\ @param\ \ \ \ htim\ \ \ \ Указатель\ на\ хендлер\ TIM}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00039}00039\ \textcolor{comment}{\ \ *\ @details\ \ Подключает\ хендлы\ периферии\ к\ hmodbus}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00040}00040\ \textcolor{comment}{\ \ *\ \ \ \ \ \ \ \ \ \ \ Конфигурация\ выставляется\ по\ умолчанию\ из\ modbus\_config.h}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00041}00041\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00042}\mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga9e787c3454aab3293dec6e6795f687f5}{00042}}\ HAL\_StatusTypeDef\ \mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga9e787c3454aab3293dec6e6795f687f5}{MODBUS\_FirstInit}}(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hmodbus,\ UART\_HandleTypeDef\ *huart,\ TIM\_HandleTypeDef\ *htim)}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00043}00043\ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00044}00044\ \ \ \textcolor{keywordflow}{if}((hmodbus\ ==\ NULL)\ ||\ (huart\ ==\ NULL))}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00045}00045\ \ \ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00046}00046\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00047}00047\ \ \ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00048}00048\ \ \ \mbox{\hyperlink{group___m_o_d_b_u_s___d_e_v_i_d_ga2b93352920bf3c6da0f67cfbaef3d572}{MB\_DeviceInentificationInit}}();}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00049}00049\ \ \ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/SETUP\ MODBUS-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00050}00050\ \ \ \textcolor{comment}{//\ set\ up\ modbus:\ MB\_RX\_Size\_NotConst\ and\ Timeout\ enable}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00051}00051\ \ \ hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a01e2c95a23aa3eed1f002e2329a10942}{ID}}\ =\ \mbox{\hyperlink{group___m_o_d_b_u_s___c_o_n_f_i_g_s_gab9b18e108b98b225a52c5ccca58e7f2b}{MODBUS\_DEVICE\_ID}};}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00052}00052\ \ \ hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_aa6da72b8ad446f76484783ca8af0e565}{sRS\_Timeout}}\ =\ \mbox{\hyperlink{group___m_o_d_b_u_s___c_o_n_f_i_g_s_ga66f7c59a25c8cca6d5b0991895c26b69}{MODBUS\_TIMEOUT}};}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00053}00053\ \ \ hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a82f0ad79cd234cd26076bfcfbc5c1194}{sRS\_Mode}}\ =\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_gga13e1c056947b06c7dc29b90d22f683a7aee8cfd8ce9edacc055a195ed454a49dc}{RS\_SLAVE\_ALWAYS\_WAIT}};}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00054}00054\ \ \ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00055}00055\ \ \ \textcolor{comment}{//\ INIT}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00056}00056\ \ \ hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a8bbcb263ae7a61790b559bcb55cd9aa9}{RS\_STATUS}}\ =\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_gaa261bb0d37e7f18f04fb4353aa0f5c45}{RS\_Init}}(hmodbus,\ huart,\ htim,\ 0);\ \ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00057}00057\ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00058}00058\ \ \ \mbox{\hyperlink{group___r_s___t_o_o_l_s_gae0f359f0af89adf45bac275a3f5ee34d}{RS\_EnableReceive}}();}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00059}00059\ \ \ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00060}00060\ \ \ \textcolor{keywordflow}{if}(hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a8bbcb263ae7a61790b559bcb55cd9aa9}{RS\_STATUS}}\ ==\ RS\_OK)}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00061}00061\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_OK;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00062}00062\ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00063}00063\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00064}00064\ \}\textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00065}00065\ \textcolor{comment}{/**\ }}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00066}00066\ \textcolor{comment}{\ \ *\ @brief\ \ \ \ Программная\ конфигурация\ модбас.}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00067}00067\ \textcolor{comment}{\ \ *\ @param\ \ \ \ hmodbus\ указатель\ на\ хендлер\ RS}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00068}00068\ \textcolor{comment}{\ \ *\ @param\ \ \ \ Timeout\ Время\ тишины\ между\ двумя\ байтами\ после\ которых\ перезапускается\ прием}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00069}00069\ \textcolor{comment}{\ \ *\ @param\ \ \ \ master\ \ Режим\ мастер\ (пока\ не\ сделан)}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00070}00070\ \textcolor{comment}{\ \ *\ @details\ \ Конфигурирует\ ID,\ таймаут\ и\ режим\ hmodbus}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00071}00071\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00072}\mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga460466907693a256487d31f09b16edfe}{00072}}\ HAL\_StatusTypeDef\ \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\_HandleTypeDef}}\ *hmodbus,\ uint8\_t\ ID,\ uint16\_t\ Timeout,\ uint8\_t\ master)}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00073}00073\ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00074}00074\ \ \ \textcolor{keywordflow}{if}(hmodbus\ ==\ NULL)}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00075}00075\ \ \ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00076}00076\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00077}00077\ \ \ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00078}00078\ \ \ \textcolor{keywordflow}{if}(!master)}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00079}00079\ \ \ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00080}00080\ \ \ \ \ \textcolor{keywordflow}{if}((ID\ <\ 1)\ ||\ (ID\ >\ 247))}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00081}00081\ \ \ \ \ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00082}00082\ \ \ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00083}00083\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00084}00084\ \ \ \ \ hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a01e2c95a23aa3eed1f002e2329a10942}{ID}}\ =\ ID;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00085}00085\ \ \ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00086}00086\ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00087}00087\ \ \ \ \ hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a01e2c95a23aa3eed1f002e2329a10942}{ID}}\ =\ 0;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00088}00088\ \ \ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00089}00089\ \ \ hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_aa6da72b8ad446f76484783ca8af0e565}{sRS\_Timeout}}\ =\ Timeout;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00090}00090\ \ \ \textcolor{keywordflow}{if}(master)}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00091}00091\ \ \ \ \ hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a82f0ad79cd234cd26076bfcfbc5c1194}{sRS\_Mode}}\ =\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_gga13e1c056947b06c7dc29b90d22f683a7a15953c59b7f547b318edab14070873c5}{RS\_MASTER\_REQUEST}};}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00092}00092\ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00093}00093\ \ \ \ \ hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a82f0ad79cd234cd26076bfcfbc5c1194}{sRS\_Mode}}\ =\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_gga13e1c056947b06c7dc29b90d22f683a7aee8cfd8ce9edacc055a195ed454a49dc}{RS\_SLAVE\_ALWAYS\_WAIT}};}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00094}00094\ \ \ \ \ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00095}00095\ \ \ \textcolor{keywordflow}{return}\ HAL\_OK;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00096}00096\ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00097}00097\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00098}00098\ \textcolor{comment}{/**\ }}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00099}00099\ \textcolor{comment}{\ \ *\ @brief\ \ \ \ Запуск\ слейв\ модбас.}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00100}00100\ \textcolor{comment}{\ \ *\ @param\ \ \ \ hmodbus\ \ \ \ \ Указатель\ на\ хендлер\ RS.}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00101}00101\ \textcolor{comment}{\ \ *\ @param\ \ \ \ modbus\_msg\ \ Указатель\ на\ структуру\ сообщения.\ }}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00102}00102\ \textcolor{comment}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (NULL\ чтобы\ использовать\ дефолтную)}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00103}00103\ \textcolor{comment}{\ \ *\ @details\ \ Конфигурирует\ ID,\ таймаут\ и\ режим\ hmodbus}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00104}00104\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00105}\mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga9a17402983188566254b7096342ba69e}{00105}}\ HAL\_StatusTypeDef\ \mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga9a17402983188566254b7096342ba69e}{MODBUS\_SlaveStart}}(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hmodbus,\ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *modbus\_msg)}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00106}00106\ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00107}00107\ \ \ \textcolor{keywordflow}{if}(hmodbus\ ==\ NULL)}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00108}00108\ \ \ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00109}00109\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00110}00110\ \ \ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00111}00111\ \ \ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00112}00112\ \ \ \textcolor{keywordflow}{if}(hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a82f0ad79cd234cd26076bfcfbc5c1194}{sRS\_Mode}}\ >=\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga9560ee688d4bcdd90a47c110be4ecf92}{RS\_MASTER\_MODE\_START}})}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00113}00113\ \ \ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00114}00114\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00115}00115\ \ \ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00116}00116\ \ \ \ \ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00117}00117\ \ \ \mbox{\hyperlink{group___m_o_d_b_u_s___d_i_a_g_ga9b61a6d4139bac318868e93f03cd82c7}{MB\_DiagnosticsInit}}();}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00118}00118\ \ \ \ \ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00119}00119\ \ \ \textcolor{keywordflow}{if}(modbus\_msg)}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00120}00120\ \ \ \ \ hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a8bbcb263ae7a61790b559bcb55cd9aa9}{RS\_STATUS}}\ =\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga1b59697f4b7fad81f9d5fd9fffebac2f}{RS\_Receive\_IT}}(hmodbus,\ modbus\_msg);}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00121}00121\ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00122}00122\ \ \ \ \ hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a8bbcb263ae7a61790b559bcb55cd9aa9}{RS\_STATUS}}\ =\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga1b59697f4b7fad81f9d5fd9fffebac2f}{RS\_Receive\_IT}}(hmodbus,\ \&\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}});}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00123}00123\ \ \ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00124}00124\ \ \ \textcolor{keywordflow}{if}(hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a8bbcb263ae7a61790b559bcb55cd9aa9}{RS\_STATUS}}\ ==\ RS\_OK)}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00125}00125\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_OK;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00126}00126\ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00127}00127\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00128}00128\ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00129}00129\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00130}00130\ \textcolor{comment}{/**\ }}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00131}00131\ \textcolor{comment}{\ \ *\ @brief\ \ \ \ Реквест\ мастера\ модбас.}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00132}00132\ \textcolor{comment}{\ \ *\ @param\ \ \ \ hmodbus\ \ \ \ \ Указатель\ на\ хендлер\ RS.}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00133}00133\ \textcolor{comment}{\ \ *\ @param\ \ \ \ modbus\_msg\ \ Указатель\ на\ структуру\ сообщения}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00134}00134\ \textcolor{comment}{\ \ *\ @details\ \ Конфигурирует\ ID,\ таймаут\ и\ режим\ hmodbus}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00135}00135\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00136}\mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga19090cabfba2345391e37398125a2f55}{00136}}\ HAL\_StatusTypeDef\ \mbox{\hyperlink{group___m_o_d_b_u_s___f_u_n_c_t_i_o_n_s_ga19090cabfba2345391e37398125a2f55}{MODBUS\_MasterRequest}}(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hmodbus,\ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *modbus\_msg,\ \textcolor{keywordtype}{void}\ (*pClbk)(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}*,\ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}*))}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00137}00137\ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00138}00138\ \ \ \textcolor{keywordflow}{if}(hmodbus\ ==\ NULL)}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00139}00139\ \ \ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00140}00140\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00141}00141\ \ \ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00142}00142\ \ \ \textcolor{keywordflow}{if}(modbus\_msg\ ==\ NULL)}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00143}00143\ \ \ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00144}00144\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00145}00145\ \ \ \}\ \ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00146}00146\ \ \ \textcolor{keywordflow}{if}(hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a82f0ad79cd234cd26076bfcfbc5c1194}{sRS\_Mode}}\ <\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga9560ee688d4bcdd90a47c110be4ecf92}{RS\_MASTER\_MODE\_START}})}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00147}00147\ \ \ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00148}00148\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00149}00149\ \ \ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00150}00150\ \ \ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00151}00151\ \ \ \textcolor{keywordflow}{if}(hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a6fa98c2955d01e07dc59f73d072bb37e}{f}}.\mbox{\hyperlink{struct_r_s___flags_type_def_a9371c9de732e4669b16cfdc69f4aaca9}{RS\_Busy}})}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00152}00152\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_BUSY;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00153}00153\ \ \ \ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00154}00154\ \ \ \textcolor{keywordflow}{if}(pClbk)\ \textcolor{comment}{//\ если\ задан\ используем\ пользовательский\ коллбек}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00155}00155\ \ \ \ \ hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a6e584c7559c702d3382dbb9aa572b71b}{pCallback}}\ =\ (void\ (*)(\textcolor{keywordtype}{void}*,\ \textcolor{keywordtype}{void}*))(pClbk);}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00156}00156\ \ \ \textcolor{keywordflow}{else}\ \textcolor{comment}{//\ иначе\ дефолтный}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00157}00157\ \ \ \ \ hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a6e584c7559c702d3382dbb9aa572b71b}{pCallback}}\ =\ \ (void\ (*)(\textcolor{keywordtype}{void}*,\ \textcolor{keywordtype}{void}*))(\&\mbox{\hyperlink{modbus_8c_ae7c4bdaeae2e9deb8422ae0a0fc64cb4}{MB\_DefaultCallback}});}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00158}00158\ \ \ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00159}00159\ \ \ hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a8bbcb263ae7a61790b559bcb55cd9aa9}{RS\_STATUS}}\ =\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga2e69a97a8b6e0b5855116d88c0e17cb9}{RS\_Transmit\_IT}}(hmodbus,\ modbus\_msg);}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00160}00160\ \ \ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00161}00161\ \ \ \textcolor{keywordflow}{if}(hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a8bbcb263ae7a61790b559bcb55cd9aa9}{RS\_STATUS}}\ ==\ RS\_OK)}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00162}00162\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_OK;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00163}00163\ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00164}00164\ \ \ \ \ \textcolor{keywordflow}{return}\ HAL\_ERROR;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00165}00165\ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00166}00166\ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00167}00167\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00168}00168\ \textcolor{comment}{//-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/INTERNAL-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00169}00169\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00170}00170\ \textcolor{comment}{/**\ }}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00171}00171\ \textcolor{comment}{\ \ *\ @brief\ \ \ \ Дефолтный\ коллбек\ для\ мастера.}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00172}00172\ \textcolor{comment}{\ \ *\ @param\ \ \ \ hmodbus\ \ \ \ \ Указатель\ на\ хендлер\ RS}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00173}00173\ \textcolor{comment}{\ \ *\ @param\ \ \ \ modbus\_msg\ \ Указатель\ на\ структуру\ сообщения}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00174}00174\ \textcolor{comment}{\ \ *\ @details\ \ В\ этот\ коллбек\ попадут\ все\ запросы,\ с\ NULL-\/коллбеком}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00175}00175\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00176}\mbox{\hyperlink{modbus_8c_ae7c4bdaeae2e9deb8422ae0a0fc64cb4}{00176}}\ \textcolor{keyword}{static}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{modbus_8c_ae7c4bdaeae2e9deb8422ae0a0fc64cb4}{MB\_DefaultCallback}}(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hmodbus,\ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *modbus\_msg)}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00177}00177\ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00178}00178\ \ \ \_\_NOP();}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00179}00179\ \ \ \textcolor{keywordflow}{return};}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00180}00180\ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00181}00181\ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00182}00182\ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00183}00183\ \textcolor{comment}{/*\ Реализация\ функций\ из\ rs\_message.c\ для\ протокола\ */}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00184}\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga8b7bcc84cb8192a58fe87b662fbd9690}{00184}}\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\_StatusTypeDef}}\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga8b7bcc84cb8192a58fe87b662fbd9690}{RS\_Response}}(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hmodbus,\ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *modbus\_msg)}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00185}00185\ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00186}00186\ \ \ \textcolor{keywordflow}{if}(hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a82f0ad79cd234cd26076bfcfbc5c1194}{sRS\_Mode}}\ >=\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga9560ee688d4bcdd90a47c110be4ecf92}{RS\_MASTER\_MODE\_START}})}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00187}00187\ \ \ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00188}00188\ \ \ \ \ \textcolor{keywordflow}{return}\ RS\_ERR;}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00189}00189\ \ \ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00190}00190\ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{group___m_o_d_b_u_s___s_l_a_v_e_gacb44db7ef6ef32b08f4ffe0178eabee8}{MB\_Slave\_Response}}(hmodbus,\ modbus\_msg);}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00191}00191\ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00192}00192\ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00193}\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga1cd98c55f6f359e3ab93d0f9cf912ab5}{00193}}\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\_StatusTypeDef}}\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga1cd98c55f6f359e3ab93d0f9cf912ab5}{RS\_Collect\_Message}}(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hmodbus,\ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *modbus\_msg,\ uint8\_t\ *modbus\_uart\_buff)}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00194}00194\ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00195}00195\ \ \ \textcolor{keywordflow}{if}(hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a82f0ad79cd234cd26076bfcfbc5c1194}{sRS\_Mode}}\ <\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga9560ee688d4bcdd90a47c110be4ecf92}{RS\_MASTER\_MODE\_START}})}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00196}00196\ \ \ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00197}00197\ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{group___m_o_d_b_u_s___s_l_a_v_e_ga1c73cfdcbe7bc6076f62a4ec9c211eee}{MB\_Slave\_Collect\_Message}}(hmodbus,\ modbus\_msg,\ modbus\_uart\_buff);}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00198}00198\ \ \ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00199}00199\ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00200}00200\ \ \ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00201}00201\ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{group___m_o_d_b_u_s___m_a_s_t_e_r_ga096d2790ab887eb815e17d8cd9ede125}{MB\_Master\_Collect\_Message}}(hmodbus,\ modbus\_msg,\ modbus\_uart\_buff);}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00202}00202\ \ \ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00203}00203\ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00204}00204\ }
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00205}\mbox{\hyperlink{group___r_s___t_o_o_l_s_ga3500b3fa91d05a94cf8da5cc5ce338f5}{00205}}\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga727154b368397b4796aa892de12a2289}{RS\_StatusTypeDef}}\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga3500b3fa91d05a94cf8da5cc5ce338f5}{RS\_Parse\_Message}}(\mbox{\hyperlink{struct_r_s___handle_type_def}{RS\_HandleTypeDef}}\ *hmodbus,\ \mbox{\hyperlink{struct_r_s___msg_type_def}{RS\_MsgTypeDef}}\ *modbus\_msg,\ uint8\_t\ *modbus\_uart\_buff)}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00206}00206\ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00207}00207\ \ \ \textcolor{keywordflow}{if}(hmodbus-\/>\mbox{\hyperlink{struct_r_s___handle_type_def_a82f0ad79cd234cd26076bfcfbc5c1194}{sRS\_Mode}}\ <\ \mbox{\hyperlink{group___r_s___t_o_o_l_s_ga9560ee688d4bcdd90a47c110be4ecf92}{RS\_MASTER\_MODE\_START}})}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00208}00208\ \ \ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00209}00209\ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{group___m_o_d_b_u_s___s_l_a_v_e_gadc281b1044c4ae345d10db6497846cef}{MB\_Slave\_Parse\_Message}}(hmodbus,\ modbus\_msg,\ modbus\_uart\_buff);}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00210}00210\ \ \ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00211}00211\ \ \ \textcolor{keywordflow}{else}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00212}00212\ \ \ \{}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00213}00213\ \ \ \ \ \textcolor{keywordflow}{return}\ \mbox{\hyperlink{group___m_o_d_b_u_s___m_a_s_t_e_r_ga461e77fe31ce64c7ee5f1a932dc1183f}{MB\_Master\_Parse\_Message}}(hmodbus,\ modbus\_msg,\ modbus\_uart\_buff);}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00214}00214\ \ \ \}}
\DoxyCodeLine{\Hypertarget{modbus_8c_source_l00215}00215\ \}}

\end{DoxyCode}
