Коррекция комментов

This commit is contained in:
2026-02-20 10:35:33 +03:00
parent 4116d9edb5
commit 7870a749c2
6 changed files with 71 additions and 36 deletions

View File

@@ -29,7 +29,7 @@
//----------------Слейв модбас----------------//
#include "modbus.h"
MODBUS_FirstInit(&hmodbus1, &huart1, &htim3, NULL);
MODBUS_FirstInit(&hmodbus1, &huart1, &htim3, NULL); // NULL, если управление RE/DE не нужно
MODBUS_Config(&hmodbus1, MODBUS_DEVICE_ID, MODBUS_TIMEOUT, MODBUS_MODE_SLAVE);
MODBUS_SlaveStart(&hmodbus1, NULL);
@endcode
@@ -37,19 +37,24 @@
//----------------Мастер модбас----------------//
#include "modbus.h"
MODBUS_FirstInit(&hmodbus1, &huart1, &htim3);
MODBUS_FirstInit(&hmodbus1, &huart1, &htim3, NULL); // NULL, если управление RE/DE не нужно
MODBUS_Config(&hmodbus1, 0, MODBUS_TIMEOUT, MODBUS_MODE_MASTER);
// Запрос на 1 ID, считать холдинг регистры с 0 адреса 10 штук
// При получении ответа вызовется функция callback_func()
RS_MsgTypeDef msg = MB_REQUEST_READ_HOLDING_REGS(1, 0, 10);
MODBUS_MasterRequest(&hmodbus1, &msg, &callback_func);
void callback_func(RS_HandleTypeDef *hmodbus, RS_MsgTypeDef *modbus_msg)
{
// MB_RespGet_... Чтобы достать нужные данные из ответа
if(hmodbus->RS_STATUS == RS_OK)
if(hmodbus->RS_STATUS == RS_OK) // Получен ответ без ошибок
{
for(int addr = MODBUS_MSG.Addr; addr < MODBUS_MSG.Addr + MODBUS_MSG.Qnt; addr++)
{
// Запись регистров из ответа в массив
uint16_t value;
if(MB_RespGet_RegisterValue(&MODBUS_MSG, addr, &value))
{
@@ -57,6 +62,9 @@
}
}
}
else // Ответ получен с ошибкой или не получен вовсе
{
}
}
@endcode

View File

@@ -3,9 +3,9 @@
* @file modbus_holdregs.h
* @brief Работа с регистрами хранения Modbus
*******************************************************************************
@addtogroup MODBUS_INS Input Register Tools
@addtogroup MODBUS_HOLD Holding Registers Tools
@ingroup MODBUS_INTERNAL
@brief Функции для работы с входными регистрами
@brief Функции для работы с регистрами хранения
*******************************************************************************
* @details
Модуль для доступа к регистрам внутри программы:

View File

@@ -3,9 +3,9 @@
* @file modbus_inputregs.h
* @brief Работа с входными регистрами Modbus
*******************************************************************************
@addtogroup MODBUS_HOLD Holding Registers Tools
@addtogroup MODBUS_INS Input Register Tools
@ingroup MODBUS_INTERNAL
@brief Функции для работы с регистрами хранения
@brief Функции для работы с входными регистрами
*******************************************************************************
* @details
Модуль для доступа к регистрам внутри программы: