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

40 lines
1.2 KiB
C

#ifndef __ONE2ONECOMM_H__
#define __ONE2ONECOMM_H__
//----------------------------------------------------------------------------------------------
#include "config.h"
#include "serial.h"
//----------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------
#define MAX_REG_WR 10 // 最大收发10个数据
typedef struct
{
// 命令数据
u16 addr; // 数据地址
u16 wrdat[MAX_REG_WR]; // 发送的数据
u8 wrlen; // 发送的数据长度
u16 rddat[MAX_REG_WR]; // 接收的数据
u8 rdlen; // 接收的数据长度
}One2OneCmd;
typedef void (*ResvOne2OneExProc)(One2OneCmd * pcmd); // 收到数据处理函数
void InitOne2OneCtrl(int usart, BAUD_TypeDef baud, char dat, char parity, char stop, int rsvtimout);
void RegOne2OneCmdProc(ResvOne2OneExProc proc);
int AddOne2OneCmd(One2OneCmd * pCmd);
void One2OneTask(void);
//----------------------------------------------------------------------------------------------
#endif