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

📄 mp270app.cpp

📁 mp270app.dsp This file (the project file) contains information at the project level and is used
💻 CPP
字号:
// mp270app.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <conio.h>
#include "windows.h"    // 应加入的头文件
#include "winioctl.h"   // 应加入的头文件
#include <conio.h>
#include <stdlib.h>
#include <winbase.h>

#include "..\include\io_nt.h"
#include "..\include\epp_io_nt_app.h"  //nt驱动头文件
#include "mp270_nt.h"  //nt驱动头文件


	HINSTANCE hDLL;     //DLL句柄
	HANDLE NTportio=NULL;  //NT IO驱动 句柄--->暂定为全局变量,自定义时,可以自己传递参数
	unsigned short ad_data[1000000];
int cccc=0;
int k;
int main(int argc, char* argv[])
{
	char *dll_name="aciont.dll";//动态连接库名

	hDLL=LoadLibrary(dll_name); //调入DLL ,动态调用
	
	if(hDLL!=NULL){
		
		if((int)hDLL<31){
			printf("%s未找到!", dll_name);
		}else{ 
			printf("%s已调入。", dll_name);
		
#include "..\include\io_nt_func.h"
//#include "..\include\epp_io_nt_func.h"  //nt驱动头文件
#include "mp270_nt.h"  //nt驱动头文件

//------------------------  NT  IO Driver -----------------------------------
			(FARPROC &)AC_OpenDriver=GetProcAddress(hDLL,"AC_OpenDriver");
			(FARPROC &)AC_CloseDriver=GetProcAddress(hDLL,"AC_CloseDriver");
			(FARPROC &)AC_Version=GetProcAddress(hDLL,"AC_Version");

			(FARPROC &)AC_inp=GetProcAddress(hDLL,"AC_inp");
			(FARPROC &)AC_inpw=GetProcAddress(hDLL,"AC_inpw");

			(FARPROC &)AC_inps=GetProcAddress(hDLL,"AC_inps");
			(FARPROC &)AC_inpws=GetProcAddress(hDLL,"AC_inpws");

			(FARPROC &)AC_outp=GetProcAddress(hDLL,"AC_outp");
			(FARPROC &)AC_outpw=GetProcAddress(hDLL,"AC_outpw");

			(FARPROC &)AC_outps=GetProcAddress(hDLL,"AC_outps");
			(FARPROC &)AC_outpws=GetProcAddress(hDLL,"AC_outpws");

//----------------  EPP PORT FUNCTION  ---------------------------
		(FARPROC &)EPP_init=GetProcAddress(hDLL,"EPP_init");
		(FARPROC &)EPP_inp=GetProcAddress(hDLL,"EPP_inp");
		(FARPROC &)EPP_inps=GetProcAddress(hDLL,"EPP_inps");
		(FARPROC &)EPP_inpws=GetProcAddress(hDLL,"EPP_inpws");
		(FARPROC &)EPP_outp=GetProcAddress(hDLL,"EPP_outp");
		(FARPROC &)EPP_outps=GetProcAddress(hDLL,"EPP_outps");
		(FARPROC &)EPP_outpws=GetProcAddress(hDLL,"EPP_outpws");
//-----------------  MP270 Function -------------------------------
		(FARPROC &)MP270_init=GetProcAddress(hDLL,"MP270_init");
		(FARPROC &)MP270_outp=GetProcAddress(hDLL,"MP270_outp");
		(FARPROC &)MP270_outpw=GetProcAddress(hDLL,"MP270_outpw");
		(FARPROC &)MP270_outps=GetProcAddress(hDLL,"MP270_outps");
		(FARPROC &)MP270_outpws=GetProcAddress(hDLL,"MP270_outpws");
		(FARPROC &)MP270_inp=GetProcAddress(hDLL,"MP270_inp");
		(FARPROC &)MP270_inps=GetProcAddress(hDLL,"MP270_inps");
		(FARPROC &)MP270_inpws=GetProcAddress(hDLL,"MP270_inpws");
		(FARPROC &)MP270_State=GetProcAddress(hDLL,"MP270_State");
		(FARPROC &)MP270_Rew=GetProcAddress(hDLL,"MP270_Rew");
		(FARPROC &)MP270_ReadData=GetProcAddress(hDLL,"MP270_ReadData");
		(FARPROC &)MP270_ReadDataWord=GetProcAddress(hDLL,"MP270_ReadDataWord");
		(FARPROC &)MP270_SetMode=GetProcAddress(hDLL,"MP270_SetMode");
		(FARPROC &)MP270_SetChMode=GetProcAddress(hDLL,"MP270_SetChMode");
		(FARPROC &)MP270_Run=GetProcAddress(hDLL,"MP270_Run");
		(FARPROC &)MP270_DAout=GetProcAddress(hDLL,"MP270_DAout");
		(FARPROC &)MP270_Set8254=GetProcAddress(hDLL,"MP270_Set8254");
		(FARPROC &)MP270_Set8255Mode=GetProcAddress(hDLL,"MP270_Set8255Mode");
		(FARPROC &)MP270_Write8255=GetProcAddress(hDLL,"MP270_Write8255");
		(FARPROC &)MP270_Read8255=GetProcAddress(hDLL,"MP270_Write8255");
//-----------------------------------------------------------------
			if(AC_OpenDriver==NULL){
				printf("\nAC_OpenDriver函数不存在!");
			}else{
				printf("\nAC_OpenDriver函数存在。");

				NTportio=AC_OpenDriver(); //获取IO驱动句柄

				if(NTportio==NULL)
				{
					printf("Drivers is not exist!!!\n");//未成功加载驱动
					getch();
				FreeLibrary(hDLL);//清DLL句柄
				
				exit(0);//退出
				}

					if(AC_Version==NULL){
						printf("\nAC_Version函数不存在!");
					}else{
						printf("\nAC_Version函数存在。");
						char Version[100];
						AC_Version(NTportio, Version);//ok
						printf("%s\n",Version);
					}
				//检查EPP系列函数
			if(EPP_init==NULL 
				||EPP_inp==NULL || EPP_inps==NULL || EPP_inpws==NULL 
				|| EPP_outp==NULL || EPP_outps==NULL|| EPP_outpws==NULL
				)
					{
						printf("\nEPP系列函数不存在!");
					}else{
						printf("\nEPP系列函数存在。\n\n");

					}

				//检查MP270系列函数
			if(MP270_init==NULL 
				||MP270_inp==NULL || MP270_inps==NULL || MP270_inpws==NULL 
				|| MP270_outp==NULL || MP270_outpw==NULL || MP270_outps==NULL
				||MP270_outpws==NULL||MP270_init==NULL || MP270_State==NULL 
				||MP270_SetChMode==NULL || MP270_Rew==NULL || MP270_ReadData==NULL
				||MP270_ReadDataWord==NULL || MP270_SetMode==NULL|| MP270_Run==NULL 
				|| MP270_DAout==NULL || MP270_Set8254==NULL || MP270_Set8255Mode==NULL
				|| MP270_Write8255==NULL || MP270_Read8255==NULL
				)
					{
						printf("\nMP270系列函数不存在!");
					}else{
						printf("\nMP270系列函数存在。\n\n");
					//--------- 调用 MP270 函数 ---------------
						int mpstate,iii;
						unsigned short data[40000];

						MP270_init(NTportio);
						MP270_DAout(NTportio, 330);

						MP270_SetMode(NTportio, 0, 0, 0);

						MP270_SetChMode(NTportio, 0x8f);

						MP270_Set8254(NTportio, 5000,40);

						MP270_Rew(NTportio);
					MP270_Run(NTportio);
					
					for(;;){

						do{
							mpstate=MP270_State(NTportio);

						}while((mpstate&1)!=0);

						if((mpstate&2)==0){
								printf("\nFifo overflow!\n");
								goto end1;

						}else{
								MP270_ReadDataWord(NTportio, data,2048 );
								
							cccc++;
							

							//if( (data[0]&8) != 0 ) printf("<3900\n") ;
						for(iii=0;iii<16;iii++)printf("%d\t",data[iii]);	
						}
						
							if(kbhit() && getch()==27)break;
					}
					
					}

			//关闭驱动程序
			if(AC_CloseDriver==NULL){
				printf("AC_CloseDriver函数不存在!");
				
			}else{
				printf("\nAC_CloseDriver函数存在。");
				AC_CloseDriver(NTportio);
			}

		}
	FreeLibrary(hDLL);//清DLL	
	}
	}
end1:
	getch();
	return 0;
}

⌨️ 快捷键说明

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