#ifndef _MODBUS_S_H #define _MODBUS_S_H #include "stm32g0xx_hal.h" // modbus 支持的最大地址 #define MODBUS_S_MAX_ADDR 0X000A typedef struct ModBusSlave_t{ uint8_t ID; // 从机地址 uint8_t func; uint16_t Addr; // 寄存器地址 uint16_t length; // 寄存器长度 uint8_t * data; // 写入的数据 uint16_t crc; // crc uint16_t * reg;// 寄存器 uint16_t regmax; } ModBusSlave_t; void ModbusSlaveInit(ModBusSlave_t * drv,uint8_t ID,uint8_t * data,uint16_t * reg,uint16_t max); int ModbusSlaveHandle(ModBusSlave_t * drv,uint8_t * data,uint16_t length ); int ModbusSlavePacket(ModBusSlave_t * drv,uint8_t *data); #endif