| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #ifndef __MB_Hx__
- #define __MB_Hx__
- #include <stdint.h>
- #include "modbus.h"
- #include "datadef.h"
- enum {
- MB_MODE_MASTER=0,
- MB_MODE_SLAVE,
- };
- enum {
- MB_TYPE_RTU=0,
- MB_TYPE_TCP,
- };
- typedef struct {
- uint8_t type;
- uint8_t mode;
- mb_backend_param_t para;
- }mb_para_t;
- typedef int (*mb_fn_t)(void *data, int len);
- typedef struct {
- uint8_t rw; //0:read, 1:write
- uint16_t reg;
- uint16_t *data;
- uint32_t len;
- uint32_t time_e;
- }mb_data_t;
- void* mb_init(mb_para_t *para);
- int mb_deinit(void *h);
- int mb_setup(void *h, mb_para_t *para);
- int mb_read(void *h, uint8_t addr, uint16_t reg, uint16_t *data, int cnt, int timeout);
- int mb_write(void *h, uint8_t addr, uint16_t reg, uint16_t *data, int cnt);
- #endif
|