brisonus_qc_dsp_com/br_modbus_reg.h
JingweiCui ff5c5db787 [Add] Modbus通信库+参数定义
通过直接修改结构体参数的地址去修改具体的变量,结构体把所有定义的参数作为一个整体管理;ModbusRTU目前支持03,06和0A功能码。
2025-01-09 18:05:09 +08:00

37 lines
752 B
C

#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