/** ****************************************************************************** * @file modbus_holdregs.h * @brief Работа с регистрами хранения Modbus ****************************************************************************** @addtogroup MODBUS_INS Input Register Tools @ingroup MODBUS_INTERNAL ****************************************************************************** * @details Модуль обработки команд для регистров хранения (Holding Registers): - Чтение множества регистров (0x03) - Запись одиночного регистра (0x06) - Запись множества регистров (0x10) @section Регистры хранения: - Read/Write доступ - 16-битные значения (uint16_t) ******************************************************************************/ #ifndef __MODBUS_HOLDREGS_H_ #define __MODBUS_HOLDREGS_H_ #include "modbus_core.h" ///////////////////////////////////////////////////////////////////// /////////////////////////---FUNCTIONS---///////////////////////////// /** * @addtogroup MODBUS_DATA_ACCESS_FUNCTIONS * @{ */ /* Записать регистр хранения по глобальному адресу. */ MB_ExceptionTypeDef MB_Holding_Write_Global(uint16_t Addr, uint16_t WriteVal); /* Считать регистр хранения по глобальному адресу. */ uint16_t MB_Holding_Read_Global(uint16_t Addr, MB_ExceptionTypeDef *Exception); /** MODBUS_DATA_ACCESS_FUNCTIONS * @} */ /** * @addtogroup MODBUS_CMD_PROCESS_FUNCTIONS @{ */ /* Обработать функцию Read Holding Registers (03 - 0x03) */ uint8_t MB_Process_Read_Hold_Regs(RS_MsgTypeDef *modbus_msg); /* Обработать функцию Write Single Coils (06 - 0x06) */ uint8_t MB_Process_Write_Single_Reg(RS_MsgTypeDef *modbus_msg); /* Обработать функцию Write Multiple Register (16 - 0x10) */ uint8_t MB_Process_Write_Miltuple_Regs(RS_MsgTypeDef *modbus_msg); /** MODBUS_CMD_PROCESS_FUNCTIONS * @} */ /////////////////////////---FUNCTIONS---///////////////////////////// #endif //__MODBUS_HOLDREGS_H_