35 lines
1.3 KiB
C
35 lines
1.3 KiB
C
|
|
#ifndef __MODBUS_M_H__
|
|
#define __MODBUS_M_H__
|
|
|
|
#include "modbus_def.h"
|
|
|
|
//----------------------------------------------------------------------------------------------
|
|
|
|
//----------------------------------------------------------------------------------------------
|
|
|
|
//----------------------------------------------------------------------------------------------
|
|
|
|
// 功能:初始化 modbus 通讯
|
|
void InitModbus_m(int midx, int usart, BAUD_TypeDef baud, char dat, char parity, char stop,char mode);
|
|
|
|
int ModbusTx(int midx, u8 index, u8 cmd, u16 addr, u16 * pData, u16 len, int steps); // 功能:发送一条MODBUS协议的命令
|
|
int ModbusRx(int midx, u8 index, u8 cmd, u16 addr, u16 * pData, u16 len, int steps); // 功能:接收一条MODBUS协议的应答
|
|
|
|
int ModbusComm16(int midx, u8 index, u8 cmd, u16 addr, u16 wrDat, u16 * pData); // 功能:16位数据读写
|
|
int ModbusComm32(int midx, u8 index, u8 cmd, u16 addr, u32 wrDat, u32 * pData); // 功能:32位数据读写
|
|
int ModbusCommMulti(int midx, u8 index, u8 cmd, u16 addr, u16 * pWrDat, u8 wlen, u16 * pRdDat, u8 rlen);
|
|
|
|
//----------------------------------------------------------------------------------------------
|
|
|
|
void InitRs485Ctrl(int rsvtimout);
|
|
void RegRsCmdProc(Resv485ExProc proc);
|
|
int AddRs485Cmd(Rs485Cmd * pCmd);
|
|
int GetRs485CmdBufLen(void);
|
|
int Rs485Task(void);
|
|
|
|
|
|
#endif
|
|
|
|
|