35 lines
1.3 KiB
C
35 lines
1.3 KiB
C
|
|
|
|||
|
|
#ifndef __MODBUS_M_H__
|
|||
|
|
#define __MODBUS_M_H__
|
|||
|
|
|
|||
|
|
#include "modbus_def.h"
|
|||
|
|
|
|||
|
|
//----------------------------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
//----------------------------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
//----------------------------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ʼ<EFBFBD><CABC> 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); // <20><><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>MODBUSЭ<53><D0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
int ModbusRx(int midx, u8 index, u8 cmd, u16 addr, u16 * pData, u16 len, int steps); // <20><><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>MODBUSЭ<53><D0AD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|||
|
|
|
|||
|
|
int ModbusComm16(int midx, u8 index, u8 cmd, u16 addr, u16 wrDat, u16 * pData); // <20><><EFBFBD><EFBFBD>:16λ<36><CEBB><EFBFBD>ݶ<EFBFBD>д
|
|||
|
|
int ModbusComm32(int midx, u8 index, u8 cmd, u16 addr, u32 wrDat, u32 * pData); // <20><><EFBFBD><EFBFBD>:32λ<32><CEBB><EFBFBD>ݶ<EFBFBD>д
|
|||
|
|
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
|
|||
|
|
|
|||
|
|
|