300 lines
37 KiB
HTML
300 lines
37 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||
<meta name="generator" content="Doxygen 1.14.0"/>
|
||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||
<title>Modbus: E:/.WORK/STM32/Diod_Test/diode_tester/Core/Modbus/Src/modbus_master.c File Reference</title>
|
||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="jquery.js"></script>
|
||
<script type="text/javascript" src="dynsections.js"></script>
|
||
<script type="text/javascript" src="clipboard.js"></script>
|
||
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="navtreedata.js"></script>
|
||
<script type="text/javascript" src="navtree.js"></script>
|
||
<script type="text/javascript" src="cookie.js"></script>
|
||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||
<script type="text/javascript" src="search/search.js"></script>
|
||
<script type="text/x-mathjax-config">
|
||
MathJax.Hub.Config({
|
||
extensions: ["tex2jax.js"],
|
||
jax: ["input/TeX","output/HTML-CSS"],
|
||
});
|
||
</script>
|
||
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
|
||
<script type="text/javascript" src="darkmode_toggle.js"></script>
|
||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||
</head>
|
||
<body>
|
||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||
<div id="titlearea">
|
||
<table cellspacing="0" cellpadding="0">
|
||
<tbody>
|
||
<tr id="projectrow">
|
||
<td id="projectalign">
|
||
<div id="projectname">Modbus<span id="projectnumber"> 0.3</span>
|
||
</div>
|
||
<div id="projectbrief">Библиотека Modbus для STM</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<!-- end header part -->
|
||
<!-- Generated by Doxygen 1.14.0 -->
|
||
<script type="text/javascript">
|
||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||
</script>
|
||
<script type="text/javascript">
|
||
$(function() { codefold.init(); });
|
||
</script>
|
||
<script type="text/javascript" src="menudata.js"></script>
|
||
<script type="text/javascript" src="menu.js"></script>
|
||
<script type="text/javascript">
|
||
$(function() {
|
||
initMenu('',true,false,'search.php','Search',true);
|
||
$(function() { init_search(); });
|
||
});
|
||
</script>
|
||
<div id="main-nav"></div>
|
||
</div><!-- top -->
|
||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||
<div id="nav-tree">
|
||
<div id="nav-tree-contents">
|
||
<div id="nav-sync" class="sync"></div>
|
||
</div>
|
||
</div>
|
||
<div id="splitbar" style="-moz-user-select:none;"
|
||
class="ui-resizable-handle">
|
||
</div>
|
||
</div>
|
||
<script type="text/javascript">
|
||
$(function(){initNavTree('modbus__master_8c.html','',''); });
|
||
</script>
|
||
<div id="container">
|
||
<div id="doc-content">
|
||
<!-- window showing the filter options -->
|
||
<div id="MSearchSelectWindow"
|
||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||
</div>
|
||
|
||
<!-- iframe showing the search results (closed by default) -->
|
||
<div id="MSearchResultsWindow">
|
||
<div id="MSearchResults">
|
||
<div class="SRPage">
|
||
<div id="SRIndex">
|
||
<div id="SRResults"></div>
|
||
<div class="SRStatus" id="Loading">Loading...</div>
|
||
<div class="SRStatus" id="Searching">Searching...</div>
|
||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="header">
|
||
<div class="headertitle"><div class="title">modbus_master.c File Reference</div></div>
|
||
</div><!--header-->
|
||
<div class="contents">
|
||
|
||
<p>Модуль для реализации мастера MODBUS.
|
||
<a href="#details">More...</a></p>
|
||
<div class="textblock"><code>#include "<a class="el" href="modbus_8h_source.html">modbus.h</a>"</code><br />
|
||
</div><div class="textblock"><div id="dynsection-0" onclick="return dynsection.toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;"><span class="dynarrow"><span class="arrowhead closed"></span></span>Include dependency graph for modbus_master.c:</div>
|
||
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
|
||
</div>
|
||
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
|
||
<div class="center"><img src="modbus__master_8c__incl.png" border="0" usemap="#a_e_1_2_8_w_o_r_k_2_s_t_m32_2_diod___test_2diode__tester_2_core_2_modbus_2_src_2modbus__master_8c" loading="lazy" alt=""/></div>
|
||
<map name="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_diod___test_2diode__tester_2_core_2_modbus_2_src_2modbus__master_8c" id="a_e_1_2_8_w_o_r_k_2_s_t_m32_2_diod___test_2diode__tester_2_core_2_modbus_2_src_2modbus__master_8c">
|
||
<area shape="rect" title="Модуль для реализации мастера MODBUS." alt="" coords="344,5,547,64"/>
|
||
<area shape="rect" href="modbus_8h.html" title="Главный заголовочный файл Modbus библиотеки" alt="" coords="407,112,485,139"/>
|
||
<area shape="poly" title=" " alt="" coords="448,64,448,96,443,96,443,64"/>
|
||
<area shape="rect" href="rs__message_8h.html" title="Библиотека обмена сообщениями по RS-интерфейсу" alt="" coords="110,261,213,288"/>
|
||
<area shape="poly" title=" " alt="" coords="406,129,311,129,193,137,135,144,84,155,42,170,16,188,9,200,9,210,15,219,25,228,57,244,96,257,94,262,55,249,22,233,10,223,4,211,4,198,12,185,40,165,82,150,134,139,192,131,311,124,406,123"/>
|
||
<area shape="rect" href="modbus__master_8h.html" title="Главный заголовочный файл Modbus библиотеки" alt="" coords="26,187,151,213"/>
|
||
<area shape="poly" title=" " alt="" coords="407,137,166,186,165,180,406,132"/>
|
||
<area shape="rect" href="modbus__slave_8h.html" title="Главный заголовочный файл Modbus библиотеки" alt="" coords="176,187,292,213"/>
|
||
<area shape="poly" title=" " alt="" coords="410,142,286,184,285,179,408,137"/>
|
||
<area shape="rect" href="modbus__coils_8h.html" title="Работа с коилами Modbus." alt="" coords="316,187,429,213"/>
|
||
<area shape="poly" title=" " alt="" coords="435,141,398,177,394,174,431,137"/>
|
||
<area shape="rect" href="modbus__holdregs_8h.html" title="Работа с регистрами хранения Modbus." alt="" coords="453,187,588,213"/>
|
||
<area shape="poly" title=" " alt="" coords="461,137,499,174,495,178,457,141"/>
|
||
<area shape="rect" href="modbus__inputregs_8h.html" title="Работа с входными регистрами Modbus." alt="" coords="458,261,596,288"/>
|
||
<area shape="poly" title=" " alt="" coords="486,127,516,133,548,144,577,161,601,185,607,205,599,224,584,240,565,255,562,250,580,237,595,221,601,204,597,188,574,165,545,149,514,139,485,133"/>
|
||
<area shape="rect" href="modbus__devid_8h.html" title="Идентификаторы устройства Modbus." alt="" coords="621,261,737,288"/>
|
||
<area shape="poly" title=" " alt="" coords="486,130,553,148,589,164,622,185,650,214,669,246,665,248,646,217,619,189,586,169,551,153,485,135"/>
|
||
<area shape="rect" href="modbus__diag_8h.html" title="Диагностика устройства Modbus." alt="" coords="762,261,871,288"/>
|
||
<area shape="poly" title=" " alt="" coords="486,133,564,154,653,184,724,217,784,251,781,255,722,222,651,189,563,159,485,138"/>
|
||
<area shape="rect" href="modbus__core_8h.html" title="Ядро Modbus протокола - определения и структуры" alt="" coords="419,336,529,363"/>
|
||
<area shape="poly" title=" " alt="" coords="215,285,405,329,404,335,213,291"/>
|
||
<area shape="rect" href="modbus__config_8h.html" title="Конфигурационные параметры Modbus устройства" alt="" coords="244,485,365,512"/>
|
||
<area shape="poly" title=" " alt="" coords="418,355,384,360,348,370,315,387,289,412,283,426,283,440,292,471,287,472,278,441,278,424,285,409,312,383,346,365,383,355,418,349"/>
|
||
<area shape="rect" href="modbus__data_8h.html" title="Определения структур данных Modbus устройства" alt="" coords="419,411,529,437"/>
|
||
<area shape="poly" title=" " alt="" coords="476,363,476,395,471,395,471,363"/>
|
||
<area shape="rect" href="____crc__algs_8h_source.html" title=" " alt="" coords="299,411,395,437"/>
|
||
<area shape="poly" title=" " alt="" coords="453,366,384,405,381,400,450,361"/>
|
||
<area shape="rect" href="____modbus__compat_8h.html" title="Модуль для совместимости библиотеки MODBUS." alt="" coords="553,411,696,437"/>
|
||
<area shape="poly" title=" " alt="" coords="494,361,578,402,576,406,492,366"/>
|
||
<area shape="rect" title=" " alt="" coords="246,560,363,587"/>
|
||
<area shape="poly" title=" " alt="" coords="307,513,307,544,302,544,302,513"/>
|
||
<area shape="rect" title=" " alt="" coords="442,485,506,512"/>
|
||
<area shape="poly" title=" " alt="" coords="476,438,476,470,471,470,471,438"/>
|
||
<area shape="poly" title=" " alt="" coords="342,439,322,473,317,471,337,437"/>
|
||
<area shape="poly" title=" " alt="" coords="604,412,520,372,522,367,606,408"/>
|
||
<area shape="poly" title=" " alt="" coords="103,212,140,248,136,252,99,216"/>
|
||
<area shape="poly" title=" " alt="" coords="223,216,187,252,183,248,219,212"/>
|
||
<area shape="poly" title=" " alt="" coords="383,212,459,322,454,325,379,215"/>
|
||
<area shape="poly" title=" " alt="" coords="496,216,469,235,448,263,444,277,446,292,458,322,453,324,441,294,439,277,443,260,466,232,493,212"/>
|
||
<area shape="poly" title=" " alt="" coords="520,290,494,325,490,322,516,287"/>
|
||
<area shape="poly" title=" " alt="" coords="644,291,525,333,523,328,642,286"/>
|
||
<area shape="poly" title=" " alt="" coords="762,290,545,336,544,331,761,285"/>
|
||
</map>
|
||
</div>
|
||
</div>
|
||
<p><a href="modbus__master_8c_source.html">Go to the source code of this file.</a></p>
|
||
<table class="memberdecls">
|
||
<tr class="heading"><td colspan="2"><h2 id="header-func-members" class="groupheader"><a id="func-members" name="func-members"></a>
|
||
Functions</h2></td></tr>
|
||
<tr class="memitem:ga86160c23899d6ece041e3680ba863019" id="r_ga86160c23899d6ece041e3680ba863019"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_g_s___a_p_i.html#ga86160c23899d6ece041e3680ba863019">MB_RespGet_RegisterAll</a> (<a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> *modbus_msg, uint16_t *reg_arr)</td></tr>
|
||
<tr class="memdesc:ga86160c23899d6ece041e3680ba863019"><td class="mdescLeft"> </td><td class="mdescRight">Получить значение ВСЕХ регистров в ответе <br /></td></tr>
|
||
<tr class="memitem:ga1f80317087624a23f84224c6f2c1d596" id="r_ga1f80317087624a23f84224c6f2c1d596"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_g_s___a_p_i.html#ga1f80317087624a23f84224c6f2c1d596">MB_RespGet_RegisterValue</a> (<a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> *modbus_msg, uint16_t reg_addr, uint16_t *reg_value)</td></tr>
|
||
<tr class="memdesc:ga1f80317087624a23f84224c6f2c1d596"><td class="mdescLeft"> </td><td class="mdescRight">Получить значение регистра в ответе по его адресу <br /></td></tr>
|
||
<tr class="memitem:ga14750bad3976a9fcc6bdece1c800dbf5" id="r_ga14750bad3976a9fcc6bdece1c800dbf5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q___c_o_i_l_s___a_p_i.html#ga14750bad3976a9fcc6bdece1c800dbf5">MB_RespGet_CoilAll</a> (<a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> *modbus_msg, int *coil_arr)</td></tr>
|
||
<tr class="memdesc:ga14750bad3976a9fcc6bdece1c800dbf5"><td class="mdescLeft"> </td><td class="mdescRight">Получить состояние ВСЕХ coil в ответе <br /></td></tr>
|
||
<tr class="memitem:ga643a0be1ccd587a6dfe544d9fd5ed018" id="r_ga643a0be1ccd587a6dfe544d9fd5ed018"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q___c_o_i_l_s___a_p_i.html#ga643a0be1ccd587a6dfe544d9fd5ed018">MB_RespGet_CoilState</a> (<a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> *modbus_msg, uint16_t coil_addr, int *coil_state)</td></tr>
|
||
<tr class="memdesc:ga643a0be1ccd587a6dfe544d9fd5ed018"><td class="mdescLeft"> </td><td class="mdescRight">Получить состояние coil в ответе по его адресу <br /></td></tr>
|
||
<tr class="memitem:ga16b90d4a74a249514161aa4576724d1c" id="r_ga16b90d4a74a249514161aa4576724d1c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q___d_e_f_i_d___a_p_i.html#ga16b90d4a74a249514161aa4576724d1c">MB_RespGet_NumberOfObjects</a> (<a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> *modbus_msg)</td></tr>
|
||
<tr class="memdesc:ga16b90d4a74a249514161aa4576724d1c"><td class="mdescLeft"> </td><td class="mdescRight">Получить количество объектов в сообщении <br /></td></tr>
|
||
<tr class="memitem:ga0dc4119c008af34d5997eab339c437be" id="r_ga0dc4119c008af34d5997eab339c437be"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q___d_e_f_i_d___a_p_i.html#ga0dc4119c008af34d5997eab339c437be">MB_RespGet_ObjectById</a> (<a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> *modbus_msg, uint8_t obj_id, char *obj_data, uint8_t *obj_length)</td></tr>
|
||
<tr class="memdesc:ga0dc4119c008af34d5997eab339c437be"><td class="mdescLeft"> </td><td class="mdescRight">Найти объект по ID в сообщении <br /></td></tr>
|
||
<tr class="memitem:ga3fc5fc5abfe4f8767ccee5c11ea3d5d5" id="r_ga3fc5fc5abfe4f8767ccee5c11ea3d5d5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q___d_e_f_i_d___a_p_i.html#ga3fc5fc5abfe4f8767ccee5c11ea3d5d5">MB_RespGet_ObjectByIndex</a> (<a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> *modbus_msg, int index, uint8_t *obj_id, char *obj_data, uint8_t *obj_length)</td></tr>
|
||
<tr class="memdesc:ga3fc5fc5abfe4f8767ccee5c11ea3d5d5"><td class="mdescLeft"> </td><td class="mdescRight">Получить объект по индексу в сообщении <br /></td></tr>
|
||
<tr class="memitem:ga46a9650ec68832e6f95eda579f4d9ded" id="r_ga46a9650ec68832e6f95eda579f4d9ded"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q___d_i_a_g___a_p_i.html#ga46a9650ec68832e6f95eda579f4d9ded">MB_RespGet_Diagnostic</a> (<a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> *modbus_msg, uint16_t *data)</td></tr>
|
||
<tr class="memdesc:ga46a9650ec68832e6f95eda579f4d9ded"><td class="mdescLeft"> </td><td class="mdescRight">Получить данные диагностики из сообщения (MbData[1]) <br /></td></tr>
|
||
<tr class="memitem:a79e3f84b9daba8a42c8ca6026133acc5" id="r_a79e3f84b9daba8a42c8ca6026133acc5"><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="#a79e3f84b9daba8a42c8ca6026133acc5">MB_Define_Size_of_Function</a> (<a class="el" href="struct_r_s___handle_type_def.html">RS_HandleTypeDef</a> *hmodbus, <a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> *modbus_msg)</td></tr>
|
||
<tr class="memdesc:a79e3f84b9daba8a42c8ca6026133acc5"><td class="mdescLeft"> </td><td class="mdescRight">Определить размер модбас запроса (МАСТЕР версия). <br /></td></tr>
|
||
<tr class="memitem:ga096d2790ab887eb815e17d8cd9ede125" id="r_ga096d2790ab887eb815e17d8cd9ede125"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___r_s___t_o_o_l_s.html#ga727154b368397b4796aa892de12a2289">RS_StatusTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___m_a_s_t_e_r.html#ga096d2790ab887eb815e17d8cd9ede125">MB_Master_Collect_Message</a> (<a class="el" href="struct_r_s___handle_type_def.html">RS_HandleTypeDef</a> *hmodbus, <a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> *modbus_msg, uint8_t *modbus_uart_buff)</td></tr>
|
||
<tr class="memdesc:ga096d2790ab887eb815e17d8cd9ede125"><td class="mdescLeft"> </td><td class="mdescRight">Сбор сообщения в буфер UART в режиме мастер (фрейм мастера из msg -> uart). <br /></td></tr>
|
||
<tr class="memitem:ga461e77fe31ce64c7ee5f1a932dc1183f" id="r_ga461e77fe31ce64c7ee5f1a932dc1183f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___r_s___t_o_o_l_s.html#ga727154b368397b4796aa892de12a2289">RS_StatusTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___m_a_s_t_e_r.html#ga461e77fe31ce64c7ee5f1a932dc1183f">MB_Master_Parse_Message</a> (<a class="el" href="struct_r_s___handle_type_def.html">RS_HandleTypeDef</a> *hmodbus, <a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> *modbus_msg, uint8_t *modbus_uart_buff)</td></tr>
|
||
<tr class="memdesc:ga461e77fe31ce64c7ee5f1a932dc1183f"><td class="mdescLeft"> </td><td class="mdescRight">Парс сообщения в режиме мастер (фрейм слейва из uart -> msg). <br /></td></tr>
|
||
<tr class="memitem:gadb1b59bd6832b017b7ff4f5d694f59aa" id="r_gadb1b59bd6832b017b7ff4f5d694f59aa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#gadb1b59bd6832b017b7ff4f5d694f59aa">MB_REQUEST_READ_COILS</a> (uint8_t slave_addr, uint16_t start_addr, uint16_t quantity)</td></tr>
|
||
<tr class="memdesc:gadb1b59bd6832b017b7ff4f5d694f59aa"><td class="mdescLeft"> </td><td class="mdescRight">Сформировать запрос на чтение коилов <br /></td></tr>
|
||
<tr class="memitem:ga85028c4de63ca63cb04e332a3fdcd676" id="r_ga85028c4de63ca63cb04e332a3fdcd676"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga85028c4de63ca63cb04e332a3fdcd676">MB_REQUEST_READ_DISCRETE_INPUTS</a> (uint8_t slave_addr, uint16_t start_addr, uint16_t quantity)</td></tr>
|
||
<tr class="memdesc:ga85028c4de63ca63cb04e332a3fdcd676"><td class="mdescLeft"> </td><td class="mdescRight">Сформировать запрос на чтение дискретных регистров <br /></td></tr>
|
||
<tr class="memitem:ga4a4798a15608f3aac04150115a628f8e" id="r_ga4a4798a15608f3aac04150115a628f8e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga4a4798a15608f3aac04150115a628f8e">MB_REQUEST_READ_HOLDING_REGS</a> (uint8_t slave_addr, uint16_t start_addr, uint16_t quantity)</td></tr>
|
||
<tr class="memdesc:ga4a4798a15608f3aac04150115a628f8e"><td class="mdescLeft"> </td><td class="mdescRight">Сформировать запрос на чтение холдинг регистров <br /></td></tr>
|
||
<tr class="memitem:ga72f91a70586546171fe9190a4e0e5518" id="r_ga72f91a70586546171fe9190a4e0e5518"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga72f91a70586546171fe9190a4e0e5518">MB_REQUEST_READ_INPUT_REGS</a> (uint8_t slave_addr, uint16_t start_addr, uint16_t quantity)</td></tr>
|
||
<tr class="memdesc:ga72f91a70586546171fe9190a4e0e5518"><td class="mdescLeft"> </td><td class="mdescRight">Сформировать запрос на чтение инпут регистров <br /></td></tr>
|
||
<tr class="memitem:ga1ac5f38ac244039a63b2714044778ffc" id="r_ga1ac5f38ac244039a63b2714044778ffc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga1ac5f38ac244039a63b2714044778ffc">MB_REQUEST_WRITE_SINGLE_COIL</a> (uint8_t slave_addr, uint16_t coil_addr, uint8_t value)</td></tr>
|
||
<tr class="memdesc:ga1ac5f38ac244039a63b2714044778ffc"><td class="mdescLeft"> </td><td class="mdescRight">Сформировать запрос на запись одного коила <br /></td></tr>
|
||
<tr class="memitem:ga0126cfaf44c73d84d521b16c0f6ab7b6" id="r_ga0126cfaf44c73d84d521b16c0f6ab7b6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga0126cfaf44c73d84d521b16c0f6ab7b6">MB_REQUEST_WRITE_SINGLE_REG</a> (uint8_t slave_addr, uint16_t reg_addr, uint16_t value)</td></tr>
|
||
<tr class="memdesc:ga0126cfaf44c73d84d521b16c0f6ab7b6"><td class="mdescLeft"> </td><td class="mdescRight">Сформировать запрос на запись одного регистра <br /></td></tr>
|
||
<tr class="memitem:ga92c7c61bc6b3e249350d93d20b530fa3" id="r_ga92c7c61bc6b3e249350d93d20b530fa3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga92c7c61bc6b3e249350d93d20b530fa3">MB_REQUEST_WRITE_MULTIPLE_COILS</a> (uint8_t slave_addr, uint16_t start_addr, uint16_t quantity, uint8_t *coils_data)</td></tr>
|
||
<tr class="memdesc:ga92c7c61bc6b3e249350d93d20b530fa3"><td class="mdescLeft"> </td><td class="mdescRight">Сформировать запрос на запись нескольких регистров <br /></td></tr>
|
||
<tr class="memitem:ga9b89a034f1c5ed96572621b2ebe7f6af" id="r_ga9b89a034f1c5ed96572621b2ebe7f6af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga9b89a034f1c5ed96572621b2ebe7f6af">MB_REQUEST_WRITE_MULTIPLE_REGS</a> (uint8_t slave_addr, uint16_t start_addr, uint16_t quantity, uint16_t *regs_data)</td></tr>
|
||
<tr class="memdesc:ga9b89a034f1c5ed96572621b2ebe7f6af"><td class="mdescLeft"> </td><td class="mdescRight">Сформировать запрос на запись нескольких коилов <br /></td></tr>
|
||
<tr class="memitem:ga426c984872d854c539fd8c238d63771b" id="r_ga426c984872d854c539fd8c238d63771b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga426c984872d854c539fd8c238d63771b">MB_REQUEST_DIAGNOSTIC_QUERY</a> (uint8_t slave_addr, uint16_t sub_function, uint16_t data)</td></tr>
|
||
<tr class="memitem:ga6480ddbb52591379806a4772b1e0314c" id="r_ga6480ddbb52591379806a4772b1e0314c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga6480ddbb52591379806a4772b1e0314c">MB_REQUEST_RETURN_QUERY_DATA</a> (uint8_t slave_addr)</td></tr>
|
||
<tr class="memitem:gaac4012ed36456d42a4ab43bafa464c5d" id="r_gaac4012ed36456d42a4ab43bafa464c5d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#gaac4012ed36456d42a4ab43bafa464c5d">MB_REQUEST_RESTART_COMMUNICATIONS</a> (uint8_t slave_addr, uint16_t data)</td></tr>
|
||
<tr class="memitem:ga2273cca5ebb04144c64531fd0c0694ed" id="r_ga2273cca5ebb04144c64531fd0c0694ed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga2273cca5ebb04144c64531fd0c0694ed">MB_REQUEST_RETURN_DIAGNOSTIC_REGISTER</a> (uint8_t slave_addr)</td></tr>
|
||
<tr class="memitem:gae6530484fa78fb3e02755b300f0c2b02" id="r_gae6530484fa78fb3e02755b300f0c2b02"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#gae6530484fa78fb3e02755b300f0c2b02">MB_REQUEST_FORCE_LISTEN_ONLY_MODE</a> (uint8_t slave_addr)</td></tr>
|
||
<tr class="memitem:gada53cc333c773842805b95d9a87a65db" id="r_gada53cc333c773842805b95d9a87a65db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#gada53cc333c773842805b95d9a87a65db">MB_REQUEST_CLEAR_COUNTERS_AND_DIAGNOSTIC_REGISTER</a> (uint8_t slave_addr)</td></tr>
|
||
<tr class="memitem:gacb5228130ea1b22b88c19887d92f7be0" id="r_gacb5228130ea1b22b88c19887d92f7be0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#gacb5228130ea1b22b88c19887d92f7be0">MB_REQUEST_RETURN_BUS_MESSAGE_COUNT</a> (uint8_t slave_addr)</td></tr>
|
||
<tr class="memitem:gadd99de894b4454ca996f62e7087c0189" id="r_gadd99de894b4454ca996f62e7087c0189"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#gadd99de894b4454ca996f62e7087c0189">MB_REQUEST_RETURN_BUS_COMMUNICATION_ERROR_COUNT</a> (uint8_t slave_addr)</td></tr>
|
||
<tr class="memitem:ga389ab419af02c8c3c5d4aae28fb17101" id="r_ga389ab419af02c8c3c5d4aae28fb17101"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga389ab419af02c8c3c5d4aae28fb17101">MB_REQUEST_RETURN_SLAVE_EXCEPTION_ERROR_COUNT</a> (uint8_t slave_addr)</td></tr>
|
||
<tr class="memitem:ga9c40062ec23c64144688aa7828eccd23" id="r_ga9c40062ec23c64144688aa7828eccd23"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga9c40062ec23c64144688aa7828eccd23">MB_REQUEST_RETURN_SLAVE_MESSAGE_COUNT</a> (uint8_t slave_addr)</td></tr>
|
||
<tr class="memitem:ga5300643a1bf60cf0a78d594c9abc1b0e" id="r_ga5300643a1bf60cf0a78d594c9abc1b0e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga5300643a1bf60cf0a78d594c9abc1b0e">MB_REQUEST_RETURN_SLAVE_NO_RESPONSE_COUNT</a> (uint8_t slave_addr)</td></tr>
|
||
<tr class="memitem:gacb578b9c708617fc0223d462ae3749c0" id="r_gacb578b9c708617fc0223d462ae3749c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#gacb578b9c708617fc0223d462ae3749c0">MB_REQUEST_RETURN_SLAVE_NAK_COUNT</a> (uint8_t slave_addr)</td></tr>
|
||
<tr class="memitem:ga72c99bd3d8ee2de2e6748086f66a6955" id="r_ga72c99bd3d8ee2de2e6748086f66a6955"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga72c99bd3d8ee2de2e6748086f66a6955">MB_REQUEST_RETURN_SLAVE_BUSY_COUNT</a> (uint8_t slave_addr)</td></tr>
|
||
<tr class="memitem:ga9fa3920579485c7a23927748a7fcf4c0" id="r_ga9fa3920579485c7a23927748a7fcf4c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga9fa3920579485c7a23927748a7fcf4c0">MB_REQUEST_RETURN_BUS_CHARACTER_OVERRUN_COUNT</a> (uint8_t slave_addr)</td></tr>
|
||
<tr class="memitem:gaaccf0865d45ec20438b06698d7fa1810" id="r_gaaccf0865d45ec20438b06698d7fa1810"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#gaaccf0865d45ec20438b06698d7fa1810">MB_REQUEST_READ_DEVICE_ID_BASIC</a> (uint8_t slave_addr)</td></tr>
|
||
<tr class="memitem:ga016ad086488ff121aa6354ed6e617255" id="r_ga016ad086488ff121aa6354ed6e617255"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga016ad086488ff121aa6354ed6e617255">MB_REQUEST_READ_DEVICE_ID_REGULAR</a> (uint8_t slave_addr)</td></tr>
|
||
<tr class="memitem:ga8ace1339daa02649df909e5cd1b9143c" id="r_ga8ace1339daa02649df909e5cd1b9143c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga8ace1339daa02649df909e5cd1b9143c">MB_REQUEST_READ_DEVICE_ID_EXTENDED</a> (uint8_t slave_addr)</td></tr>
|
||
<tr class="memitem:ga4c00a4432ea240d6f6629a9bead0c5b8" id="r_ga4c00a4432ea240d6f6629a9bead0c5b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_o_d_b_u_s___r_e_q_u_e_s_t___m_s_g.html#ga4c00a4432ea240d6f6629a9bead0c5b8">MB_REQUEST_READ_DEVICE_ID_SPECIFIC</a> (uint8_t slave_addr, uint8_t object_id)</td></tr>
|
||
</table>
|
||
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
|
||
<div class="textblock"><p>Модуль для реализации мастера MODBUS. </p>
|
||
<p>Файл содержит реализацию функций для работы Modbus в режиме мастера.</p>
|
||
<h1 class="doxsection"><a class="anchor" id="mast"></a>
|
||
Функции и макросы</h1>
|
||
<ul>
|
||
<li><a class="el" href="group___m_o_d_b_u_s___r_e_g_s___a_p_i.html#ga86160c23899d6ece041e3680ba863019" title="Получить значение ВСЕХ регистров в ответе">MB_RespGet_RegisterAll()</a> — Считать все регистра из ответа</li>
|
||
<li><a class="el" href="group___m_o_d_b_u_s___r_e_g_s___a_p_i.html#ga1f80317087624a23f84224c6f2c1d596" title="Получить значение регистра в ответе по его адресу">MB_RespGet_RegisterValue()</a> — Считать один регистр из ответа</li>
|
||
<li><a class="el" href="group___m_o_d_b_u_s___r_e_q___c_o_i_l_s___a_p_i.html#ga14750bad3976a9fcc6bdece1c800dbf5" title="Получить состояние ВСЕХ coil в ответе">MB_RespGet_CoilAll()</a> — Считать все коилы из ответа</li>
|
||
<li><a class="el" href="group___m_o_d_b_u_s___r_e_q___c_o_i_l_s___a_p_i.html#ga643a0be1ccd587a6dfe544d9fd5ed018" title="Получить состояние coil в ответе по его адресу">MB_RespGet_CoilState()</a> — Считать один коил из ответа</li>
|
||
<li><a class="el" href="group___m_o_d_b_u_s___r_e_q___d_e_f_i_d___a_p_i.html#ga16b90d4a74a249514161aa4576724d1c" title="Получить количество объектов в сообщении">MB_RespGet_NumberOfObjects()</a> — Считать количество принятых объектов идентификатора</li>
|
||
<li><a class="el" href="group___m_o_d_b_u_s___r_e_q___d_e_f_i_d___a_p_i.html#ga0dc4119c008af34d5997eab339c437be" title="Найти объект по ID в сообщении">MB_RespGet_ObjectById()</a> — Считать объект идентификатора по его ID</li>
|
||
<li><a class="el" href="group___m_o_d_b_u_s___r_e_q___d_e_f_i_d___a_p_i.html#ga3fc5fc5abfe4f8767ccee5c11ea3d5d5" title="Получить объект по индексу в сообщении">MB_RespGet_ObjectByIndex()</a> — Считать объект идентификатора по порядковому номеру в сообщении</li>
|
||
<li><a class="el" href="group___m_o_d_b_u_s___r_e_q___d_i_a_g___a_p_i.html#ga46a9650ec68832e6f95eda579f4d9ded" title="Получить данные диагностики из сообщения (MbData[1])">MB_RespGet_Diagnostic()</a> — Считать запрошенный диагностический счетчик</li>
|
||
<li><a class="el" href="group___m_o_d_b_u_s___m_a_s_t_e_r.html#ga096d2790ab887eb815e17d8cd9ede125" title="Сбор сообщения в буфер UART в режиме мастер (фрейм мастера из msg -> uart).">MB_Master_Collect_Message()</a> — Сбор сообщения в режиме мастера</li>
|
||
<li><a class="el" href="group___m_o_d_b_u_s___m_a_s_t_e_r.html#ga461e77fe31ce64c7ee5f1a932dc1183f" title="Парс сообщения в режиме мастер (фрейм слейва из uart -> msg).">MB_Master_Parse_Message()</a> — Парс сообщения в режиме мастера </li>
|
||
</ul>
|
||
|
||
<p class="definition">Definition in file <a class="el" href="modbus__master_8c_source.html">modbus_master.c</a>.</p>
|
||
</div><a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Function Documentation</h2>
|
||
<a id="a79e3f84b9daba8a42c8ca6026133acc5" name="a79e3f84b9daba8a42c8ca6026133acc5"></a>
|
||
<h2 class="memtitle"><span class="permalink"><a href="#a79e3f84b9daba8a42c8ca6026133acc5">◆ </a></span>MB_Define_Size_of_Function()</h2>
|
||
|
||
<div class="memitem">
|
||
<div class="memproto">
|
||
<table class="mlabels">
|
||
<tr>
|
||
<td class="mlabels-left">
|
||
<table class="memname">
|
||
<tr>
|
||
<td class="memname">int MB_Define_Size_of_Function </td>
|
||
<td>(</td>
|
||
<td class="paramtype"><a class="el" href="struct_r_s___handle_type_def.html">RS_HandleTypeDef</a> *</td> <td class="paramname"><span class="paramname"><em>hmodbus</em></span>, </td>
|
||
</tr>
|
||
<tr>
|
||
<td class="paramkey"></td>
|
||
<td></td>
|
||
<td class="paramtype"><a class="el" href="struct_r_s___msg_type_def.html">RS_MsgTypeDef</a> *</td> <td class="paramname"><span class="paramname"><em>modbus_msg</em></span> )</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
<td class="mlabels-right">
|
||
<span class="mlabels"><span class="mlabel static">static</span></span> </td>
|
||
</tr>
|
||
</table>
|
||
</div><div class="memdoc">
|
||
|
||
<p>Определить размер модбас запроса (МАСТЕР версия). </p>
|
||
<dl class="params"><dt>Parameters</dt><dd>
|
||
<table class="params">
|
||
<tr><td class="paramname">hRS</td><td>Указатель на хендлер RS. </td></tr>
|
||
<tr><td class="paramname">rx_data_size</td><td>Указатель на переменную для записи кол-ва байт для принятия. </td></tr>
|
||
</table>
|
||
</dd>
|
||
</dl>
|
||
<dl class="section return"><dt>Returns</dt><dd>RS_RES Статус о корректности рассчета кол-ва байт для принятия.</dd></dl>
|
||
<p>Определение сколько байтов надо принять по протоколу. </p>
|
||
|
||
<p class="definition">Definition at line <a class="el" href="modbus__master_8c_source.html#l00326">326</a> of file <a class="el" href="modbus__master_8c_source.html">modbus_master.c</a>.</p>
|
||
|
||
</div>
|
||
</div>
|
||
</div><!-- contents -->
|
||
</div><!-- doc-content -->
|
||
<div id="page-nav" class="page-nav-panel">
|
||
<div id="page-nav-resize-handle"></div>
|
||
<div id="page-nav-tree">
|
||
<div id="page-nav-contents">
|
||
</div><!-- page-nav-contents -->
|
||
</div><!-- page-nav-tree -->
|
||
</div><!-- page-nav -->
|
||
</div><!-- container -->
|
||
<!-- start footer part -->
|
||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||
<ul>
|
||
<li class="navelem"><a href="dir_413f4e031a85da0d68269c6fd2f76e1c.html">Src</a></li><li class="navelem"><a href="modbus__master_8c.html">modbus_master.c</a></li>
|
||
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.14.0 </li>
|
||
</ul>
|
||
</div>
|
||
</body>
|
||
</html>
|