⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 auxport.cpp

📁 vt100终端仿真程序
💻 CPP
字号:
#include "stdafx.h"


#include "communicate.h"
#include "comport.h"

#include "keyborad.h"
#include "auxport.h"

extern struct struKey struKeyMsp;
extern int g_iArrPara[50]; //函数参数组 iParam[0] 存放参数个数,iParam[1],iParam[2]...为相应参数 
extern CComPort csAuxCom;
extern int iTransportMode; //0:direct to host 1:display on screen only
extern int iDirect; //0: display 1:send to aux port
extern int iCommFlag;
extern HWND hOutWnd;
extern int iAuxCommFlag;


extern char szAuxData[BUFLEN+1];

//communicate parameter
int iBaudRate[]={CBR_110,CBR_110,CBR_300,CBR_300,CBR_600, //    
							CBR_1200,CBR_2400,CBR_4800,CBR_9600, //
							CBR_14400,CBR_19200};
char *pszPortName[]={"COM1:","COM1:","COM2:","COM3:"};
int iParity[]={NOPARITY,ODDPARITY,EVENPARITY,MARKPARITY,SPACEPARITY};
int iStopBit[]={ONESTOPBIT,TWOSTOPBITS};

// OPEN AUXPORT 
// ESC [ / P1;P2 [ ;P3;P4;P5;P6 ] M
// P1: PORT NUMBER(1,2,3)
// P2: Transport mode  1:direct to host, 2:display to screen
// P3: BAUDRATE 0~9(75~19200)
// P4: PARITY 0:NONE 1:ODD 2:EVEN 3:MARK 4:SPACE
// P5: BYTESIZE 0:7 1:8
// P6: STOPBIT 0:1 1:2
int OpenAuxPort(void)
{
	int iRet;

	csAuxCom.SetMsgWnd(hOutWnd);
	if(g_iArrPara[0]==2){
		iRet=csAuxCom.InitCom(pszPortName[g_iArrPara[1]]);
	}
	else{
		iRet=csAuxCom.InitCom(pszPortName[g_iArrPara[1]],	//
							iBaudRate[g_iArrPara[3]],		//
							iParity[g_iArrPara[4]],			//
							g_iArrPara[5]+7,		//
							iStopBit[g_iArrPara[6]]);
	}						

	if(iRet!=0){
		struKeyMsp.iKeyLock=0;
		return 1;
	}
	else{
		struKeyMsp.iKeyLock=1;
		if (g_iArrPara[2]!=2)
			iTransportMode=0;//g_iArrPara[2]-1;
		else
			iTransportMode=1;
	}

	memset(szAuxData,0x00,sizeof(szAuxData));

	return 0;
}

int OpenAuxPort11(void)
{
	int iRet;

	csAuxCom.SetMsgWnd(hOutWnd);
	
	iRet=csAuxCom.InitCom("COM1:",	//
							CBR_9600,		//
							NOPARITY,			//
							8,		//
							ONESTOPBIT);
					

	if(iRet!=0){
//		MessageBox(NULL,"Open AuxPort Error!","aaa",MB_OK);
		struKeyMsp.iKeyLock=0;
		return 1;
	}
	else{
//		MessageBox(NULL,"Open AuxPort OK!","aaa",MB_OK);
		struKeyMsp.iKeyLock=1;
		iTransportMode=0;//g_iArrPara[2]-1;

	}

	memset(szAuxData,0x00,sizeof(szAuxData));

	return 0;
}

int OpenAuxPort2(void)
{
	int iRet;

	csAuxCom.SetMsgWnd(hOutWnd);
	
	iRet=csAuxCom.InitCom("COM2:",	//
							CBR_9600,		//
							NOPARITY,			//
							8,		//
							ONESTOPBIT);

	if(iRet!=0){
		struKeyMsp.iKeyLock=0;
		return 1;
	}
	else{
		struKeyMsp.iKeyLock=1;
		iTransportMode=0;//g_iArrPara[2]-1;

	}

	memset(szAuxData,0x00,sizeof(szAuxData));

	return 0;
}

int OpenAuxPort3(void)
{
	int iRet;

	csAuxCom.SetMsgWnd(hOutWnd);
	
	iRet=csAuxCom.InitCom("COM3:",	//
							CBR_9600,		//
							EVENPARITY,			//
							8,		//
							ONESTOPBIT);
					

	if(iRet!=0){
//		MessageBox(NULL,"aaa","aaaaa",MB_OK);
		struKeyMsp.iKeyLock=0;
		return 1;
	}
	else{
		struKeyMsp.iKeyLock=1;
		iTransportMode=0;//g_iArrPara[2]-1;
	}

	memset(szAuxData,0x00,sizeof(szAuxData));

	return 0;
}

// SEND DATA TO AUXPORT
// ESC [ / | string |    NOT INCLUDE '|'
// ESC [ / 51 h string ESC [ / 51 l   Include '|'
int SendToAux(void)
{
	iDirect=1;
	iCommFlag=0;
	iAuxCommFlag=0;

	return 0;
}

int SendToAux1(void)
{
	iDirect=1;
	iCommFlag=0;
	iAuxCommFlag=1;

	return 0;
}
// Close AUXPORT 
// ESC [ / M
int CloseAuxPort(void)
{
	csAuxCom.ResetCom();
	iDirect=0;
	iTransportMode=0;
	struKeyMsp.iKeyLock=0;
	iCommFlag=0;

	
	return 0;
}

int SendToAuxK(void)
{
	if (OpenAuxPort1()==1)
		return 1;

	csAuxCom.SendData ("\x1b\x25K",3);

	iDirect=1;
	iCommFlag=1;
	iAuxCommFlag=2;

	return 0;
}

int SendToAuxB(void)
{
	if (OpenAuxPort1()==1)
		return 1;

	csAuxCom.SendData ("\x1b\x25\x42",3);

	iDirect=1;
	iCommFlag=1;
	iAuxCommFlag=2;

	return 0;
}

int SendToAuxC(void)
{
	if (OpenAuxPort1()==1)
		return 1;

	csAuxCom.SendData ("\x1b\x25\x43",3);

	iDirect=1;
	iCommFlag=1;
	iAuxCommFlag=2;

	return 0;
}

int OpenAuxPort1(void)
{
	int iRet;

	
	csAuxCom.SetMsgWnd(hOutWnd);

	iRet=csAuxCom.InitCom("COM1:",	//
							CBR_9600,		//
							NOPARITY,			//
							8,		//
							ONESTOPBIT);
						

	if(iRet!=0){
		struKeyMsp.iKeyLock=0;
		return 1;
	}
	else{
		struKeyMsp.iKeyLock=1;

		iTransportMode=0;//g_iArrPara[2]-1;

	}

	memset(szAuxData,0x00,sizeof(szAuxData));

	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -