Подправлены комменты для modbus.c

This commit is contained in:
Razvalyaev 2025-06-02 16:35:37 +03:00
parent 90f46885d2
commit 1005dc0c8a

View File

@ -6,7 +6,7 @@
* @details Файл содержит реализацию функций работы с Modbus, включая: * @details Файл содержит реализацию функций работы с Modbus, включая:
* - доступ к coils и registers; * - доступ к coils и registers;
* - обработку команд протокола; * - обработку команд протокола;
* - взаимодействие с RS-каналом (UART); * - взаимодействие с RS (UART);
* - инициализацию. * - инициализацию.
* *
* @section Функции и макросы * @section Функции и макросы
@ -30,11 +30,11 @@
* - MB_Write_Miltuple_Coils() * - MB_Write_Miltuple_Coils()
* - MB_Write_Miltuple_Regs() * - MB_Write_Miltuple_Regs()
* *
* ### Функции для работы с RS-каналом: * ### Функции для работы с RS (UART):
* - RS_Parse_Message() / RS_Collect_Message() Парсинг и сборка сообщения. * - RS_Parse_Message() / RS_Collect_Message() Парсинг и сборка сообщения.
* - RS_Response() Отправка ответа. * - RS_Response() Отправка ответа.
* - RS_Define_Size_of_RX_Message() Определение размера принимаемого сообщения. * - RS_Define_Size_of_RX_Message() Определение размера принимаемого сообщения.
* - RS_Init() Инициализация RS-подсистемы и handler. * - RS_Init() Инициализация UART.
* *
* ### Инициализация: * ### Инициализация:
* - MODBUS_FirstInit() Инициализация модуля Modbus. * - MODBUS_FirstInit() Инициализация модуля Modbus.
@ -51,7 +51,7 @@
* *
* @section Инструкция по подключению * @section Инструкция по подключению
* Для корректной работы надо подключить обработчики RS_UART_Handler(), RS_TIM_Handler(), * Для корректной работы надо подключить обработчики RS_UART_Handler(), RS_TIM_Handler(),
* в соответствубщие низкоуровневые прерываниф UART_IRQHandler, TIM_IRQHandler. После HAL'овского обработчика * в соответствубщие низкоуровневые прерывания UART_IRQHandler, TIM_IRQHandler. После HAL'овского обработчика
* *
* Также необходимо в modbus_config.h настроить дефайны для нужной работы UART * Также необходимо в modbus_config.h настроить дефайны для нужной работы UART
* После для запуска Modbus: * После для запуска Modbus:
@ -221,10 +221,10 @@ MB_ExceptionTypeDef MB_DefineRegistersAddress(uint16_t **pRegs, uint16_t Addr, u
if(RegisterType == RegisterType_Holding) if(RegisterType == RegisterType_Holding)
{ {
// Устаки для тестера // Default holding registers
if(MB_Check_Address_For_Arr(Addr, Qnt, R_HOLDING_ADDR, R_HOLDING_QNT) == NO_ERRORS) if(MB_Check_Address_For_Arr(Addr, Qnt, R_HOLDING_ADDR, R_HOLDING_QNT) == NO_ERRORS)
{ {
*pRegs = MB_Set_Register_Ptr(&MB_DATA.HoldRegs, Addr); // начало регистров хранения/входных *pRegs = MB_Set_Register_Ptr(&MB_DATA.HoldRegs, Addr); // указатель на выбранный по Addr регистр
} }
// if address doesnt match any array - return illegal data address response // if address doesnt match any array - return illegal data address response
else else
@ -234,10 +234,10 @@ MB_ExceptionTypeDef MB_DefineRegistersAddress(uint16_t **pRegs, uint16_t Addr, u
} }
else if(RegisterType == RegisterType_Input) else if(RegisterType == RegisterType_Input)
{ {
// Измеренные параметры диода // Default input registers
if(MB_Check_Address_For_Arr(Addr, Qnt, R_INPUT_ADDR, R_INPUT_QNT) == NO_ERRORS) if(MB_Check_Address_For_Arr(Addr, Qnt, R_INPUT_ADDR, R_INPUT_QNT) == NO_ERRORS)
{ {
*pRegs = MB_Set_Register_Ptr(&MB_DATA.InRegs, Addr); // начало регистров хранения/входных *pRegs = MB_Set_Register_Ptr(&MB_DATA.InRegs, Addr); // указатель на выбранный по Addr регистр
} }
// if address doesnt match any array - return illegal data address response // if address doesnt match any array - return illegal data address response
else else
@ -272,10 +272,10 @@ MB_ExceptionTypeDef MB_DefineCoilsAddress(uint16_t **pCoils, uint16_t Addr, uint
return ILLEGAL_DATA_VALUE; // return exception code return ILLEGAL_DATA_VALUE; // return exception code
} }
// tester settings coils // Default coils
if(MB_Check_Address_For_Arr(Addr, Qnt, C_CONTROL_ADDR, C_CONTROL_QNT) == NO_ERRORS) if(MB_Check_Address_For_Arr(Addr, Qnt, C_CONTROL_ADDR, C_CONTROL_QNT) == NO_ERRORS)
{ {
*pCoils = MB_Set_Coil_Reg_Ptr(&MB_DATA.Coils, Addr); *pCoils = MB_Set_Coil_Reg_Ptr(&MB_DATA.Coils, Addr); // указатель на выбранный по Addr массив коилов
} }
// if address doesnt match any array - return illegal data address response // if address doesnt match any array - return illegal data address response
else else