#ifndef __MODBUS_HANDLE_H #define __MODBUS_HANDLE_H #include "modbus-rtu.h" #include "modbus-tcp.h" #include typedef struct { modbus_t *mb; unsigned char type ;//rtu tcp unsigned char saddr ; unsigned int baud ; char name[32]; char* port_name; pthread_mutex_t mutex ; int delay; }Modbus_Manger; int g_modbus_init(void* manger, const char* port_name, unsigned int baud, const unsigned char type, unsigned char saddr, const char* name, int delay_us); int g_modbus_write_reg(void* manger,int saddr,unsigned short reg,unsigned short data); int g_modbus_write_x_reg(void* manger,int saddr,unsigned short reg,unsigned int size,unsigned short *data); int g_modbus_read_reg(void* manger,int saddr,unsigned short reg,unsigned short* data); int g_modbus_read_x_reg(void* manger,int saddr,unsigned short reg,unsigned int size,unsigned short *data); int g_modbus_read_x_reg_delay(void* manger,int saddr,unsigned short reg,unsigned int size,unsigned short *data); int g_modbus_get_timeout(void* manger,int *timeout_ms); int g_modbus_set_timeout(void* manger,int timeout_ms); void g_modbus_deinit(void* manger); int g_modbus_receive(void* manger, uint8_t *req); int g_modbus_reply(void* manger, uint8_t *req, int reqlen, modbus_mapping_t *map); int g_modbus_set_slave(void* manger, int saddr); int g_modbus_read_input_reg(void* manger,int saddr,unsigned short reg,unsigned int size,unsigned short *data); #endif