亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tmrcntset.cpp

?? 16 relay output channels and 16 isolated digital input channels LED indicators to show activated
?? CPP
字號:
/*
 ****************************************************************************************
 * Program     : TmrCntSet.CPP                                                              *
 * Description : Advantech Driver DEMO: Digital Input with Timer Setting            *
 * Revision    : 1.00                                                                   *
 * Date        : 10/15/2003                   Advantech Co., Ltd.                         *
 ****************************************************************************************
 */



#include <windows.h>
#include <windef.h>
#include <stdio.h>
#include <conio.h>
#include "..\..\..\include\driver.h"

//Static variable defined
static      PT_DeviceGetFeatures  ptDevFeatures;  // Devfeatures table
static      DEVFEATURES        DevFeatures;       // structure for device features
static      PT_EnableEvent     ptEnableEvent;     // Enable event
static      PT_CheckEvent      ptCheckEvent;      // Check event
static      PT_TimerCountSetting 		CounterSetting;
static	    BOOL bThreadloop = FALSE;   
static		BOOL bThreadFlag = FALSE;   //the flag of the thread

//     Error variable defined
char    szErrMsg[80];
DWORD	dwErrCde;
LONG	ErrCde;
long	lDriverHandle; //DriverHandle defined
DWORD   dwDeviceNum;
ULONG   ulCounter0,ulCounter1,ulCounter2;	//Counter Number

#define  MAX_DEVICES  100


/******************
 * Local function declare
 ******************/
void ErrorHandler(DWORD dwErrCde);

//Thread function declare:
void UserThread(LPVOID ); 


void main()
{
    ULONG  lDevNum = 0;
    USHORT usChan = 0;
	int i;
    short gnNumOfDevices;
    short nOutEntries;
	char  Exit='0';
 
	DEVLIST DeviceList[MAX_DEVICES ];

//	long   lDmaBuf;   //DMA buffer defined

//    PT_FAIDmaStart  ptFAIDmaStart;
	HANDLE hThreadHandle;
	DWORD dwThreadID;


    //Step 1: Display hardware and software settings for running this example
    printf("\n\t\t\tTMR_CNT_SET CONSOLE MODE SAMPLE  v2.0\n\n");
    printf("Before running this example,\n");
    printf("please use the device installation utility to add the device on Device Number.\n\n");

    // Add type of PC Laboratory Card
    ErrCde = DRV_DeviceGetList(&DeviceList[0], MAX_DEVICES, &nOutEntries);

    // Return the number of devices which you install in the system using
    // Device Installation
    ErrCde = DRV_DeviceGetNumOfList(&gnNumOfDevices);
    printf("This is the installed device list:\n");
    for (i = 0; i < gnNumOfDevices; i++)
    {
        printf("  %3.3d %s\n",DeviceList[i].dwDeviceNum,DeviceList[i].szDeviceName);
    }

    
	//Step 2: Input parameters
	fflush(stdin);
    printf("\nPlease input parameters-----------------");
    printf("\nDevice Number: ");
    scanf("%d", &dwDeviceNum);
	fflush(stdin);

    printf("\nTimer Number Setting---------------\n");
	ulCounter0=0;

   while(ulCounter0 <10)
   {
		printf("Counter0 Number >=10 : ");
		scanf("%d", &ulCounter0);
		fflush(stdin);
   }
   ulCounter1=0;
   while(ulCounter1<10)
   {
		printf("Counter1 Number >=10 : ");
		scanf("%d", &ulCounter1);
		fflush(stdin);
   }
   ulCounter2=0;
   while(ulCounter2<2)
   {
		printf("Counter2 Number >=2 : ");
		scanf("%d", &ulCounter2);
		fflush(stdin);
   }


	    //Step 3: Open Device
    ErrCde = DRV_DeviceOpen(dwDeviceNum, (LONG far *)&lDriverHandle);
    if (dwErrCde != SUCCESS)
    {
		ErrorHandler(dwErrCde);
  		//Close device
		DRV_DeviceClose(&lDriverHandle);
		printf("Press any key to exit....");
		getch();
		exit(0); 
		return;
    }

        // Step 4: Get device features
    ptDevFeatures.buffer = (LPDEVFEATURES)&DevFeatures;
    ptDevFeatures.size = sizeof(DEVFEATURES);
    if ((ErrCde = DRV_DeviceGetFeatures(lDriverHandle,
        (LPT_DeviceGetFeatures)&ptDevFeatures)) != SUCCESS)
    {
		ErrorHandler(dwErrCde);
  		//Close device
		DRV_DeviceClose(&lDriverHandle);
		printf("Press any key to exit....");
		getch();
		exit(0); 
		return;
    }

	ULONG	CounterVal=0x00;

	// Test if Supportted Device!!!
	CounterSetting.counter = 2;
	CounterSetting.Count = 0x0002;
	dwErrCde = DRV_TimerCountSetting(lDriverHandle, &CounterSetting);
   if (dwErrCde != SUCCESS)
    {
		ErrorHandler(dwErrCde);
  		//Close device
		DRV_DeviceClose(&lDriverHandle);
		printf("Press any key to exit....");
		getch();
		exit(0); 
		return;
    }

	// Real Start

	// Counter Value Set
	CounterSetting.counter = 2;
	CounterSetting.Count = ulCounter2;
	dwErrCde = DRV_TimerCountSetting(lDriverHandle, &CounterSetting);
   if (dwErrCde != SUCCESS)
    {
		ErrorHandler(dwErrCde);
  		//Close device
		DRV_DeviceClose(&lDriverHandle);
		printf("Press any key to exit....");
		getch();
		exit(0); 
		return;
    }

	CounterVal = (ulCounter0 << 16) + ulCounter1;
	CounterSetting.counter = 1;
	CounterSetting.Count = CounterVal;
   if (dwErrCde != SUCCESS)
    {
		ErrorHandler(dwErrCde);
  		//Close device
		DRV_DeviceClose(&lDriverHandle);
		printf("Press any key to exit....");
		getch();
		exit(0); 
		return;
    }
	CounterSetting.counter = 0;
	dwErrCde = DRV_TimerCountSetting(lDriverHandle, &CounterSetting);
   if (dwErrCde != SUCCESS)
    {
		ErrorHandler(dwErrCde);
  		//Close device
		DRV_DeviceClose(&lDriverHandle);
		printf("Press any key to exit....");
		getch();
		exit(0); 
		return;
    }

	// Enable Event
   	ptEnableEvent.EventType = ADS_EVT_INTERRUPT |  ADS_EVT_PORT0 | ADS_EVT_PORT1;

	ptEnableEvent.Enabled = 1;
	ptEnableEvent.Count = 1;
    if ((ErrCde = DRV_EnableEvent(lDriverHandle,
        (LPT_EnableEvent)&ptEnableEvent)) != 0)
   if (dwErrCde != SUCCESS)
    {
		ErrorHandler(dwErrCde);
  		//Close device
		DRV_DeviceClose(&lDriverHandle);
		printf("Press any key to exit....");
		getch();
		exit(0); 
		return;
    }



	//Step8: Start the Thread
    hThreadHandle = CreateThread(0, 0,
			(LPTHREAD_START_ROUTINE) UserThread,
			NULL, 0, (LPDWORD)&dwThreadID);
	bThreadFlag = TRUE;
	bThreadloop = TRUE;

	Sleep(0);
   bThreadFlag = true;

	printf("Press any key to stop....\n");

    getch();


	bThreadloop = false;
	Sleep(100);
    // Step 10: Close device
    dwErrCde = DRV_DeviceClose(&lDriverHandle);
    printf("\nPress any key to exit....");
    getch();
	CloseHandle(hThreadHandle);
}

/**********************************************************************
 * Function: ErrorHandler
 *           Show the error message of corresponding errcode
 * input:    dwErrCde, IN, Error code
 * return:   none
 **********************************************************************/
void ErrorHandler(DWORD dwErrCde)
{
    char szErrMsg[180];

    DRV_GetErrorMessage(dwErrCde, szErrMsg);
    printf("\nError(%d): %s\n", dwErrCde & 0xffff, szErrMsg);
}



/*********************************************************************
 * Function: UserThread
 * Parameters: pISamples, IN, the count of DMA convertion number
 * Return value: none
 * Purpose: Check the event and handle it
 ********************************************************************/

void UserThread(LPVOID pISamples)
{
	USHORT usEventType;
	DWORD	dwStartTime;
	DWORD	dwCurrentTime;
	DWORD	dwTime;
	DWORD	dwEventCount = 0;
	float	ratio;
	
    ptCheckEvent.EventType = &usEventType;
	ptCheckEvent.Milliseconds = 1000;
	dwStartTime = GetTickCount();
	while ( bThreadloop )
	{
		if (DRV_CheckEvent( lDriverHandle, &ptCheckEvent ) == SUCCESS)
		{
			dwEventCount++;
		}
		dwCurrentTime = GetTickCount();
		if ((dwTime = dwCurrentTime - dwStartTime) > 1000)
		{
			ratio = (float)(((float)dwEventCount / (float)dwTime) * 1000.0);
			printf( "Interrupt Event count per Second: %.3f\n", ratio );			
			dwStartTime = GetTickCount();
			dwEventCount = 0;
		}
	}
			
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品久久一区| 欧美大片在线观看| 99re这里都是精品| 粉嫩嫩av羞羞动漫久久久| 国产成人一区二区精品非洲| 国产乱子轮精品视频| 国产麻豆日韩欧美久久| 国产精品中文字幕一区二区三区| 国产资源在线一区| 高清不卡在线观看| 国产成人精品免费视频网站| 成人综合婷婷国产精品久久蜜臀| 国产成人午夜电影网| www..com久久爱| 色乱码一区二区三区88| 欧美三级在线播放| 91麻豆精品国产91久久久资源速度 | 麻豆免费精品视频| 欧美三级乱人伦电影| 欧美日韩精品专区| 欧美欧美欧美欧美首页| 欧美mv和日韩mv国产网站| 国产亚洲欧美日韩俺去了| 国产精品久久久久影视| 亚洲黄色片在线观看| 亚洲成人三级小说| 久久精品国产精品亚洲精品| 国产剧情av麻豆香蕉精品| 国产成人亚洲综合a∨婷婷图片 | 久久综合一区二区| 中文字幕国产精品一区二区| 一区二区三区免费| 青娱乐精品视频| 国产成人综合在线播放| 91国产丝袜在线播放| 欧美一区二区不卡视频| 国产日韩欧美a| 亚洲最快最全在线视频| 看电影不卡的网站| 成人国产精品免费| 在线播放/欧美激情| 精品国产一区二区三区久久久蜜月| 国产精品天天看| 午夜精品一区在线观看| 国产福利视频一区二区三区| 在线免费精品视频| 久久综合成人精品亚洲另类欧美| 最新不卡av在线| 毛片av一区二区| 91亚洲精品久久久蜜桃网站| 日韩亚洲欧美成人一区| 中文字幕一区二区三区视频| 日本成人中文字幕在线视频 | 国产欧美精品一区二区三区四区| 亚洲蜜桃精久久久久久久| 久久国产人妖系列| 色88888久久久久久影院按摩| 日韩三级高清在线| 亚洲精品日韩专区silk| 国产在线观看免费一区| 欧美日韩一卡二卡| 国产精品区一区二区三| 久久精品国产精品青草| 91精品福利在线| 国产欧美va欧美不卡在线| 日韩成人免费看| 91官网在线免费观看| 日本一区二区三级电影在线观看| 日韩av电影免费观看高清完整版 | 亚洲激情中文1区| 国产高清在线观看免费不卡| 亚洲午夜免费福利视频| 国产米奇在线777精品观看| 欧美日韩一区二区三区在线| 国产精品卡一卡二卡三| 国产美女精品一区二区三区| 久久se这里有精品| 国产精品久久久久四虎| 激情文学综合网| 6080亚洲精品一区二区| 亚洲精品国产精华液| 丁香婷婷综合激情五月色| 日韩精品一区二区三区视频播放 | 99国产精品久久| 国产日韩高清在线| 激情六月婷婷久久| 日韩欧美黄色影院| 日韩精品免费专区| 欧美特级限制片免费在线观看| 国产精品久久看| 福利电影一区二区| 久久久99精品免费观看| 国产一区二区三区四区五区入口| 日韩视频中午一区| 日本sm残虐另类| 制服丝袜亚洲色图| 天天操天天干天天综合网| 欧美日韩免费不卡视频一区二区三区| 亚洲欧美另类图片小说| 91在线观看一区二区| 中文字幕一区二区三| www.久久久久久久久| 18欧美乱大交hd1984| 不卡在线观看av| 亚洲图片另类小说| 99精品欧美一区| 亚洲国产成人av网| 精品亚洲成a人| 欧美一级片免费看| 麻豆精品一区二区综合av| 欧美一区二区三区在线电影 | 亚洲精品国产一区二区精华液| www激情久久| 日韩欧美成人一区二区| 欧美高清视频不卡网| 成人激情文学综合网| 一区二区三区四区亚洲| 国产精品久久777777| 久久精品人人做人人爽人人| 精品少妇一区二区三区在线播放 | 亚洲视频一区二区在线观看| 99久久er热在这里只有精品15| 中文字幕一区二区三区不卡| 色噜噜偷拍精品综合在线| 亚洲一区二区三区激情| 欧美日韩国产综合草草| 男女视频一区二区| 久久久久久亚洲综合影院红桃| 成人一区二区在线观看| 亚洲乱码国产乱码精品精可以看| 欧美三级中文字幕| 麻豆91精品91久久久的内涵| 久久青草国产手机看片福利盒子| 成人美女在线观看| 亚洲一区二区在线观看视频| 欧美一区二区三区人| 国产高清一区日本| 一区二区三区 在线观看视频| 欧美日韩激情一区| 国产一区二区调教| 亚洲免费伊人电影| 日韩小视频在线观看专区| 粉嫩嫩av羞羞动漫久久久| 亚洲综合免费观看高清完整版在线| 91精品国产欧美一区二区| 国产福利91精品一区| 洋洋av久久久久久久一区| 精品少妇一区二区| 99国产精品国产精品久久| 日韩国产欧美在线播放| 欧美国产精品专区| 欧美精品久久一区二区三区| 丁香激情综合国产| 日韩精彩视频在线观看| 国产精品无码永久免费888| 尤物在线观看一区| 日韩欧美国产综合| 91无套直看片红桃| 看国产成人h片视频| 亚洲精品免费在线播放| 精品sm在线观看| 欧美性视频一区二区三区| 国产精品一区免费在线观看| 亚洲国产美女搞黄色| 中文字幕免费观看一区| 欧美一级在线视频| 91色porny在线视频| 国产在线精品视频| 午夜精品在线视频一区| 亚洲欧美中日韩| 精品免费日韩av| 欧美日韩亚洲综合一区| 成人av午夜影院| 激情亚洲综合在线| 性久久久久久久| 亚洲色图另类专区| 国产视频一区二区在线| 欧美一级日韩不卡播放免费| 91福利在线免费观看| 国产精品一级片在线观看| 奇米一区二区三区| 亚洲一级二级在线| 亚洲天堂免费看| 国产精品嫩草久久久久| 精品国产乱码久久久久久闺蜜| 欧美久久久久免费| 在线影视一区二区三区| aaa亚洲精品| 成人国产精品免费观看| 国产精品18久久久久| 美国三级日本三级久久99| 午夜精品久久久久久久99水蜜桃 | 精品综合免费视频观看| 午夜成人在线视频| 亚洲国产日日夜夜| 亚洲一区二区三区激情| 亚洲一区免费观看| 亚洲一二三四在线观看| 一区二区三区精品视频| 一区二区三区欧美日|