You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.5 KiB
C
42 lines
1.5 KiB
C
![]()
1 year ago
|
#ifndef __MODBUS_H__
|
||
|
#define __MODBUS_H__
|
||
|
|
||
|
/* Includes ------------------------------------------------------------------*/
|
||
|
|
||
|
/* Define --------------------------------------------------------------------*/
|
||
|
/*Read multiple registers*/
|
||
|
/*Read a single register*/
|
||
|
|
||
|
/*function commond*/
|
||
|
#define MB_FUNC_MULIT_RD 0x03
|
||
|
#define MB_FUNC_SINGLE_WR 0x06
|
||
|
#define MB_FUNC_MULIT_WR 0x10
|
||
|
#define MB_FUNC_FILE_RD 0x14
|
||
|
/*factory address */
|
||
|
#define MB_FAC_PARAM 0x0
|
||
|
#define MB_CALI_PARAM 0x10
|
||
|
/*user parameter address */
|
||
|
#define MB_USER_PARAM 0x1000
|
||
|
/*measurement parameter address */
|
||
|
#define MB_MEAS_PARAM 0x2000
|
||
|
#define MB_MEAS_VALUE 0x2010
|
||
|
/* Exported types ------------------------------------------------------------*/
|
||
|
typedef struct
|
||
|
{
|
||
|
unsigned char slave;
|
||
|
unsigned char cmd;
|
||
|
} modbus_head_t;
|
||
|
|
||
|
/* Exported macro ------------------------------------------------------------*/
|
||
|
|
||
|
/* Extern global variables ---------------------------------------------------*/
|
||
|
|
||
|
/* Extern functions ----------------------------------------------------------*/
|
||
|
extern int _modbus_packet(unsigned char *pkt, unsigned char cmd, unsigned short regAddr, unsigned short regCnt, unsigned char data[]);
|
||
|
extern int _modbus_write_head(unsigned char *pkt, unsigned char cmd, unsigned short regAddr, unsigned short regCnt);
|
||
|
extern void _modbus_add_float(unsigned char *hex,float val);
|
||
|
extern void _modbus_checksum(unsigned char *buf, int len);
|
||
|
extern int _modbus_verify_crc(unsigned char *buf, int len);
|
||
|
#endif
|
||
|
|