optical/NxFuncs/modbus/modbus_m.h
2025-09-04 09:45:08 +08:00

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