#ifndef _MODBUS_REG_H #define _MODBUS_REG_H #include #define MODBUS_REG_DEFAULT_VAL 0xFFFFFFFF #define RW_REGISTERS_MAXNUM 125 #define MODBUS_REG_BLOCK_NUM 1 typedef struct { uint8_t block_id; uint32_t address; uint16_t size; } ModbusRegDataBlock_t; typedef enum { RW_OPERATION_READ, RW_OPERATION_WRITE } ModbusRegOp_t; typedef struct { uint8_t slaveId; /* 从机地址 */ ModbusRegOp_t operation; /* 操作类型 */ uint16_t startAddr; /* 起始地址 */ uint8_t num; /* 寄存器个数 */ uint16_t registers[RW_REGISTERS_MAXNUM]; /* 寄存器数据 */ }ModbusRegRwData_t; /* public funtion prototype. */ uint8_t modbus_reg_proxy(ModbusRegRwData_t * rw_data); #endif