📄 profdrv.h
字号:
//指令执行结果
//无错误
#define NO_ERR 0
//功能号错
#define ILLEGAL_FUNCTION 1
//地址错
#define ILLEGAL_DATA_ADDRESS 2
//数据值错
#define ILLEGAL_DATA_VALUE 3
//从设备号错
#define SLAVE_DEVICE_FAILURE 4
//返回正确应答
#define ACKNOWLEDGE 5
//设备忙
#define SLAVE_DEVICE_BUSY 6
//返回错误应答
#define NEGATIVE_ACKNOWLEDGE 7
//内存校验错
#define MEMORY_PARITY_ERROR 8
//主机向从设备写字变量
#define WRITE_WORD 10
//主机从从设备读字变量
#define READ_WORD 11
//主机向从设备读位变量
#define WRITE_BIT 12
//主机从从设备读位变量
#define READ_BIT 13
//指令未接收完
#define CMD_WAIT 14
//打开串口失败
#define OPEN_COM_ERR 20
#define FLASH_ON 1 //数据已刷新
#define FLASH_OFF 0 //数据未刷新
//寄存器数据结构
//int flag:数据处理状态
//unsigned short wreg:写字变量
//unsigned short rreg:读字变量
struct MDS_WORD_STRUCT {
int flag;
unsigned short wreg;
unsigned short rreg;
};
//位数据结构
//int flag:数据处理状态
//unsigned short wreg:写位变量
//unsigned short rreg:读位变量
struct MDS_BIT_STRUCT {
int flag;
unsigned char wcoil;
unsigned char rcoil;
};
//将触摸屏通讯参数设置为:8位数据位+1位停止位,无校验位,通讯速率:9600或19200
//功能:打开并初始化与proface通讯,本机为slave
//参数:unsigned char myaddr:本机地址
// int comport:串口号,设置1或2
// int baud:通讯波特率,设置9600或19200
int MDS_Open(unsigned char myaddr, int comport, int baud);
//功能:关闭与proface的通讯
void MDS_Close();
//设置寄存器字变量数据存储区
//参数:struct MDS_WORD_STRUCT *prbuf:字变量缓冲区首址
// unsigned short num: 缓冲区大小
void MDS_SetRegisterBuf(struct MDS_WORD_STRUCT *prbuf, unsigned short num);
//设置线圈位变量存储区
//参数:struct MDS_BIT_STRUCT *pcbuf:位变量缓冲区首址
// unsigned short num: 缓冲区大小
void MDS_SetCoilBuf(struct MDS_BIT_STRUCT *pcbuf, unsigned short num);
//检查刷新响应指令
//返回:执行结果
//参数:unsigned short *paddr: 完成指令的数据块首地址
// unsigned short *pnum: 完成指令的数据块大小
int MDS_CheckCommand(unsigned short *paddr, unsigned short *pnum);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -