/** ******************************************************************************* * @file modbus_holdregs.h * @brief Работа с регистрами хранения Modbus ******************************************************************************* @addtogroup MODBUS_INS Input Register Tools @ingroup MODBUS_INTERNAL @brief Функции для работы с входными регистрами ******************************************************************************* * @details Модуль для доступа к регистрам внутри программы: - Функции для доступа к регистрам хранения по глобальным адресам Модуль обработки команд для регистров хранения (Holding Registers): - Чтение множества регистров (0x03) - Запись одиночного регистра (0x06) - Запись множества регистров (0x10) @section hold Регистры хранения: - Read/Write доступ - 16-битные значения (uint16_t) ******************************************************************************/ #ifndef __MODBUS_HOLDREGS_H_ #define __MODBUS_HOLDREGS_H_ #include "modbus_core.h" #ifdef MODBUS_ENABLE_HOLDINGS ///////////////////////////////////////////////////////////////////// /////////////////////////---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_ENABLE_HOLDINGS #endif //__MODBUS_HOLDREGS_H_