brisonus_qc_dsp_com/br_modbus_reg.h

37 lines
752 B
C
Raw Permalink Normal View History

#ifndef _MODBUS_REG_H
#define _MODBUS_REG_H
#include <stdint.h>
#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