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

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

?? apci1710_chrono.c

?? 最新版comedi的源碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
/**@verbatimCopyright (C) 2004,2005  ADDI-DATA GmbH for the source code of this module.                 ADDI-DATA GmbH         Dieselstrasse 3         D-77833 Ottersweier         Tel: +19(0)7223/9493-0         Fax: +49(0)7223/9493-92         http://www.addi-data-com         info@addi-data.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USAYou shoud also find the complete GPL in the COPYING file accompanying this source code.@endverbatim*//*      +-----------------------------------------------------------------------+  | (C) ADDI-DATA GmbH          Dieselstra?e 3       D-77833 Ottersweier  |  +-----------------------------------------------------------------------+  | Tel : +49 (0) 7223/9493-0     | email    : info@addi-data.com         |  | Fax : +49 (0) 7223/9493-92    | Internet : http://www.addi-data.com   |  +-----------------------------------------------------------------------+  | Project     : API APCI1710    | Compiler : gcc                        |  | Module name : CHRONO.C        | Version  : 2.96                       |  +-------------------------------+---------------------------------------+  | Project manager: Eric Stolz   | Date     :  02/12/2002                |  +-----------------------------------------------------------------------+  | Description :   APCI-1710 chronometer module                          |  |                                                                       |  |                                                                       |  +-----------------------------------------------------------------------+  |                             UPDATES                                   |  +-----------------------------------------------------------------------+  |   Date   |   Author  |          Description of updates                |  +----------+-----------+------------------------------------------------+  | 29/06/98 | S. Weber  | Digital input / output implementation          |  |----------|-----------|------------------------------------------------|  | 08/05/00 | Guinot C  | - 0400/0228 All Function in RING 0             |  |          |           |   available                                    |  +-----------------------------------------------------------------------+  |          |           |                                                |  |          |           |                                                |  +-----------------------------------------------------------------------+*//*+----------------------------------------------------------------------------+|                               Included files                               |+----------------------------------------------------------------------------+*/#include "APCI1710_Chrono.h"/*+----------------------------------------------------------------------------+| Function Name     : _INT_     i_APCI1710_InitChrono                        ||                                       (BYTE_     b_BoardHandle,            ||                                        BYTE_     b_ModulNbr,               ||                                        BYTE_     b_ChronoMode,             ||                                        BYTE_     b_PCIInputClock,          ||                                        BYTE_     b_TimingUnit,             ||                                        ULONG_   ul_TimingInterval,         ||                                        PULONG_ pul_RealTimingInterval) +----------------------------------------------------------------------------+| Task              : Configure the chronometer operating mode (b_ChronoMode)||                     from selected module (b_ModulNbr).                     ||                     The ul_TimingInterval and ul_TimingUnit determine the  ||                     timing base for the measurement.                       ||                     The pul_RealTimingInterval return the real timing      ||                     value. You must calling this function be for you call  ||                     any other function witch access of the chronometer.    ||                                                                            ||                     Witch this functionality from the APCI-1710 you have   ||                     the possibility to measure the timing witch two event. ||                                                                            ||                     The mode 0 and 1 is appropriate for period measurement.||                     The mode 2 and 3 is appropriate for frequent           ||                     measurement.                                           ||                     The mode 4 to 7 is appropriate for measuring the timing||                     between  two event.                                    |+----------------------------------------------------------------------------+| Input Parameters  : BYTE_   b_BoardHandle    : Handle of board APCI-1710   || BYTE_   b_ModulNbr  CR_AREF(insn->chanspec)  : Module number to configure  ||                                                (0 to 3)                    || BYTE_   b_ChronoMode				data[0]    : Chronometer action mode     ||                                                (0 to 7).                   || BYTE_   b_PCIInputClock			data[1] : Selection from PCI bus clock||                                                - APCI1710_30MHZ :          ||                                                  The PC have a PCI bus     ||                                                  clock from 30 MHz         ||                                                - APCI1710_33MHZ :          ||                                                  The PC have a PCI bus     ||                                                  clock from 33 MHz         ||                                                - APCI1710_40MHZ            ||                                                  The APCI-1710 have a      ||                                                  integrated 40Mhz          ||                                                  quartz.                   ||               BYTE_   b_TimingUnit	data[2]    : Base timing unity (0 to 4) ||                                                 0 : ns                     ||                                                 1 : μs                     ||                                                 2 : ms                     ||                                                 3 : s                      ||                                                 4 : mn                     ||         ULONG_ ul_TimingInterval : data[3]	 Base timing value.          |+----------------------------------------------------------------------------+| Output Parameters : PULONG_  pul_RealTimingInterval : Real  base timing    ||                                                       value.               |                     data[0]+----------------------------------------------------------------------------+| Return Value      :  0: No error                                           ||                     -1: The handle parameter of the board is wrong         ||                     -2: Module selection wrong                             ||                     -3: The module is not a Chronometer module             ||                     -4: Chronometer mode selection is wrong                ||                     -5: The selected PCI input clock is wrong              ||                     -6: Timing unity selection is wrong                    ||                     -7: Base timing selection is wrong                     ||                     -8: You can not used the 40MHz clock selection wich    ||                         this board                                         ||                     -9: You can not used the 40MHz clock selection wich    ||                         this CHRONOS version                               |+----------------------------------------------------------------------------+*/INT i_APCI1710_InsnConfigInitChrono(comedi_device *dev,comedi_subdevice *s,	comedi_insn *insn,lsampl_t *data)	{	INT    i_ReturnValue        = 0;	ULONG ul_TimerValue         = 0;	ULONG ul_TimingInterval     = 0;	ULONG ul_RealTimingInterval = 0;	double d_RealTimingInterval = 0;	DWORD dw_ModeArray [8] = {0x01, 0x05, 0x00, 0x04, 0x02, 0x0E, 0x0A, 0x06};	BYTE   b_ModulNbr,b_ChronoMode,b_PCIInputClock,b_TimingUnit;	b_ModulNbr        = CR_AREF(insn->chanspec);    	b_ChronoMode      = (BYTE)  data[0];	b_PCIInputClock   = (BYTE)  data[1];	b_TimingUnit	  = (BYTE)  data[2];	ul_TimingInterval =	(ULONG) data[3];      	i_ReturnValue	  =  insn->n;	/**************************/	/* Test the module number */	/**************************/	if (b_ModulNbr < 4)	   {	   /***********************/	   /* Test if chronometer */	   /***********************/	   if ((devpriv->s_BoardInfos.		dw_MolduleConfiguration [b_ModulNbr] & 0xFFFF0000UL) == APCI1710_CHRONOMETER)	      {	      /*****************************/	      /* Test the chronometer mode */	      /*****************************/	      if (b_ChronoMode <= 7)		 {		 /**************************/		 /* Test the PCI bus clock */		 /**************************/		 if ((b_PCIInputClock == APCI1710_30MHZ) ||		     (b_PCIInputClock == APCI1710_33MHZ) ||		     (b_PCIInputClock == APCI1710_40MHZ))		    {		    /*************************/		    /* Test the timing unity */		    /*************************/		    if (b_TimingUnit <= 4)		       {		       /**********************************/		       /* Test the base timing selection */		       /**********************************/		       if (((b_PCIInputClock == APCI1710_30MHZ) && (b_TimingUnit == 0) && (ul_TimingInterval >= 66) && (ul_TimingInterval <= 0xFFFFFFFFUL)) ||			   ((b_PCIInputClock == APCI1710_30MHZ) && (b_TimingUnit == 1) && (ul_TimingInterval >= 1)  && (ul_TimingInterval <= 143165576UL))  ||			   ((b_PCIInputClock == APCI1710_30MHZ) && (b_TimingUnit == 2) && (ul_TimingInterval >= 1)  && (ul_TimingInterval <= 143165UL))     ||			   ((b_PCIInputClock == APCI1710_30MHZ) && (b_TimingUnit == 3) && (ul_TimingInterval >= 1)  && (ul_TimingInterval <= 143UL))        ||			   ((b_PCIInputClock == APCI1710_30MHZ) && (b_TimingUnit == 4) && (ul_TimingInterval >= 1)  && (ul_TimingInterval <= 2UL))          ||			   ((b_PCIInputClock == APCI1710_33MHZ) && (b_TimingUnit == 0) && (ul_TimingInterval >= 60) && (ul_TimingInterval <= 0xFFFFFFFFUL)) ||			   ((b_PCIInputClock == APCI1710_33MHZ) && (b_TimingUnit == 1) && (ul_TimingInterval >= 1)  && (ul_TimingInterval <= 130150240UL))  ||			   ((b_PCIInputClock == APCI1710_33MHZ) && (b_TimingUnit == 2) && (ul_TimingInterval >= 1)  && (ul_TimingInterval <= 130150UL))     ||			   ((b_PCIInputClock == APCI1710_33MHZ) && (b_TimingUnit == 3) && (ul_TimingInterval >= 1)  && (ul_TimingInterval <= 130UL))        ||			   ((b_PCIInputClock == APCI1710_33MHZ) && (b_TimingUnit == 4) && (ul_TimingInterval >= 1)  && (ul_TimingInterval <= 2UL))          ||			   ((b_PCIInputClock == APCI1710_40MHZ) && (b_TimingUnit == 0) && (ul_TimingInterval >= 50) && (ul_TimingInterval <= 0xFFFFFFFFUL)) ||			   ((b_PCIInputClock == APCI1710_40MHZ) && (b_TimingUnit == 1) && (ul_TimingInterval >= 1)  && (ul_TimingInterval <= 107374182UL))  ||			   ((b_PCIInputClock == APCI1710_40MHZ) && (b_TimingUnit == 2) && (ul_TimingInterval >= 1)  && (ul_TimingInterval <= 107374UL))     ||			   ((b_PCIInputClock == APCI1710_40MHZ) && (b_TimingUnit == 3) && (ul_TimingInterval >= 1)  && (ul_TimingInterval <= 107UL))        ||			   ((b_PCIInputClock == APCI1710_40MHZ) && (b_TimingUnit == 4) && (ul_TimingInterval >= 1)  && (ul_TimingInterval <= 1UL)))			  {			  /**************************/			  /* Test the board version */			  /**************************/			  if (((b_PCIInputClock == APCI1710_40MHZ) && (devpriv->s_BoardInfos.								      b_BoardVersion > 0)) ||			      (b_PCIInputClock != APCI1710_40MHZ))			     {			     /************************/			     /* Test the TOR version */			     /************************/			     if (((b_PCIInputClock == APCI1710_40MHZ) && ((devpriv->s_BoardInfos.									  dw_MolduleConfiguration [b_ModulNbr] & 0xFFFF) >= 0x3131)) ||				 (b_PCIInputClock != APCI1710_40MHZ))				{				fpu_begin ();								/****************************************/				/* Calculate the timer 0 division fator */				/****************************************/				switch (b_TimingUnit)				   {				   /******/				   /* ns */				   /******/				   case 0:										   /******************/					   /* Timer 0 factor */					   /******************/					   ul_TimerValue = (ULONG) (ul_TimingInterval * (0.001 * b_PCIInputClock));					   /*******************/					   /* Round the value */					   /*******************/					   if ((double) ((double) ul_TimingInterval * (0.001 * (double) b_PCIInputClock)) >= ((double) ((double) ul_TimerValue + 0.5)))					      {					      ul_TimerValue = ul_TimerValue + 1;					      }					   /*****************************/					   /* Calculate the real timing */					   /*****************************/					   ul_RealTimingInterval = (ULONG) (ul_TimerValue / (0.001 * (double) b_PCIInputClock));					   d_RealTimingInterval = (double) ul_TimerValue / (0.001 * (double) b_PCIInputClock);					   if ((double) ((double) ul_TimerValue / (0.001 * (double) b_PCIInputClock)) >= (double) ((double) ul_RealTimingInterval + 0.5))					      {					      ul_RealTimingInterval = ul_RealTimingInterval + 1;					      }					   ul_TimingInterval = ul_TimingInterval - 1;					   ul_TimerValue     = ul_TimerValue - 2;					   if (b_PCIInputClock != APCI1710_40MHZ)					      {					      ul_TimerValue     = (ULONG) ((double) (ul_TimerValue) * 0.99392);					      }									break;				   /******/				   /* ?s */				   /******/				   case 1:										   /******************/					   /* Timer 0 factor */					   /******************/					   ul_TimerValue = (ULONG) (ul_TimingInterval * (1.0 * b_PCIInputClock));					   /*******************/					   /* Round the value */					   /*******************/					   if ((double) ((double) ul_TimingInterval * (1.0 * (double) b_PCIInputClock)) >= ((double) ((double) ul_TimerValue + 0.5)))					      {					      ul_TimerValue = ul_TimerValue + 1;					      }					   /*****************************/					   /* Calculate the real timing */					   /*****************************/					   ul_RealTimingInterval = (ULONG) (ul_TimerValue / (1.0 * (double) b_PCIInputClock));					   d_RealTimingInterval = (double) ul_TimerValue / ((double) 1.0 * (double) b_PCIInputClock);					   if ((double) ((double) ul_TimerValue / (1.0 * (double) b_PCIInputClock)) >= (double) ((double) ul_RealTimingInterval + 0.5))					      {					      ul_RealTimingInterval = ul_RealTimingInterval + 1;					      }					   ul_TimingInterval = ul_TimingInterval - 1;					   ul_TimerValue     = ul_TimerValue - 2;					   if (b_PCIInputClock != APCI1710_40MHZ)					      {					      ul_TimerValue     = (ULONG) ((double) (ul_TimerValue) * 0.99392);					      }										break;				   /******/				   /* ms */				   /******/				   case 2:										   /******************/					   /* Timer 0 factor */					   /******************/					   ul_TimerValue = ul_TimingInterval * (1000 * b_PCIInputClock);					   /*******************/					   /* Round the value */					   /*******************/					   if ((double) ((double) ul_TimingInterval * (1000.0 * (double) b_PCIInputClock)) >= ((double) ((double) ul_TimerValue + 0.5)))					      {					      ul_TimerValue = ul_TimerValue + 1;					      }					   /*****************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久岛一牛影视 | 日韩欧美亚洲国产另类| 成人国产一区二区三区精品| 蜜桃av一区二区三区电影| 亚洲福利视频一区| 亚洲成在人线在线播放| 亚洲激情网站免费观看| 一区二区三区在线播放| 一区二区国产盗摄色噜噜| 中文字幕一区二区三区av| 日韩一区欧美小说| 一区二区在线观看免费| 一区二区免费在线播放| 天涯成人国产亚洲精品一区av| 亚洲国产日韩在线一区模特 | 欧美亚男人的天堂| 欧洲在线/亚洲| 欧美绝品在线观看成人午夜影视| 欧美年轻男男videosbes| 日韩欧美色电影| 日本一区二区三区电影| 亚洲人成影院在线观看| 日韩精品欧美成人高清一区二区| 蜜桃av一区二区三区| 成人综合在线观看| 欧美亚洲一区二区在线| 精品三级av在线| 国产精品天天摸av网| 亚洲午夜在线电影| 极品尤物av久久免费看| 91视频91自| 欧美变态tickle挠乳网站| 亚洲国产精品黑人久久久| 亚洲一区视频在线| 精品一区二区三区不卡| 91首页免费视频| 日韩一级片在线观看| 国产精品久久久久影院色老大| 亚洲成av人在线观看| 国产精品香蕉一区二区三区| 色婷婷综合久久久中文字幕| 精品剧情在线观看| 亚洲最大的成人av| 国产成人自拍高清视频在线免费播放| 91片在线免费观看| 久久久精品国产免费观看同学| 夜夜嗨av一区二区三区 | 中文字幕制服丝袜成人av| 首页综合国产亚洲丝袜| 成人精品一区二区三区四区| 9191成人精品久久| 亚洲黄网站在线观看| 国产成人精品一区二| 欧美一区日本一区韩国一区| 亚洲美女电影在线| 国产成人小视频| 精品国产一区久久| 亚洲h动漫在线| 色婷婷亚洲一区二区三区| 精品88久久久久88久久久| 偷拍与自拍一区| 欧美羞羞免费网站| 尤物av一区二区| 91在线丨porny丨国产| 久久久精品影视| 国产美女视频91| 日韩美女视频在线| 久久av资源站| 日韩一卡二卡三卡国产欧美| 亚洲一区二区视频在线观看| 色综合久久久网| 亚洲人成在线播放网站岛国 | 亚洲精品大片www| 95精品视频在线| 亚洲欧美一区二区三区国产精品| 国产aⅴ综合色| 中文乱码免费一区二区| 丰满少妇在线播放bd日韩电影| 亚洲精品一区二区三区四区高清| 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产综合久久久久久鬼色| 91精品国产美女浴室洗澡无遮挡| 亚洲超碰精品一区二区| 欧美日韩在线综合| 日韩精品91亚洲二区在线观看| 欧美日韩精品欧美日韩精品一 | 一区二区三区精品| 欧美在线免费播放| 亚洲成av人影院在线观看网| 5858s免费视频成人| 久久不见久久见免费视频1| 国产三级精品视频| 99精品国产99久久久久久白柏| 亚洲欧洲综合另类| 欧美高清视频一二三区 | 欧美成人精品高清在线播放| 国产又黄又大久久| 中文一区在线播放| 欧洲av一区二区嗯嗯嗯啊| 青草国产精品久久久久久| 久久综合九色综合97_久久久 | 色综合久久88色综合天天 | 337p亚洲精品色噜噜噜| 青青国产91久久久久久| 国产欧美日韩不卡| 欧美性色欧美a在线播放| 久久成人免费网站| 亚洲女人小视频在线观看| 欧美一区二区三区视频免费播放| 国产综合久久久久久鬼色| 伊人婷婷欧美激情| 欧美成人aa大片| 色婷婷激情综合| 黄网站免费久久| 亚洲色图一区二区三区| 日韩欧美一二区| 色欲综合视频天天天| 久久精品国产久精国产| 亚洲乱码中文字幕综合| 精品国产露脸精彩对白| 色噜噜狠狠成人中文综合| 精品一区二区日韩| 亚洲亚洲人成综合网络| 国产日韩欧美高清| 欧美一区二区视频在线观看2020 | 欧美亚洲一区二区三区四区| 国产综合久久久久久鬼色| 亚洲风情在线资源站| 国产精品福利一区| 久久久久国产一区二区三区四区| 欧美亚洲日本国产| 99精品视频一区二区| 国内一区二区在线| 日韩有码一区二区三区| 18涩涩午夜精品.www| 久久久久久亚洲综合| 日韩女优制服丝袜电影| 精品视频色一区| 欧美系列一区二区| 色综合久久综合| 91在线视频播放| 大陆成人av片| 成人激情免费电影网址| 国产91综合网| 国产成人自拍网| 国产69精品久久久久777| 美女高潮久久久| 美女尤物国产一区| 日韩成人伦理电影在线观看| 午夜精品一区二区三区免费视频| 自拍偷拍亚洲欧美日韩| 亚洲视频一区二区在线| 国产精品久久久久久久午夜片 | 99久久精品国产一区| 成人激情文学综合网| k8久久久一区二区三区| 成人激情视频网站| 色综合久久88色综合天天6| 成人免费视频app| 一本久久综合亚洲鲁鲁五月天| 99久久精品一区| 欧美在线一二三四区| 欧美伦理影视网| 欧美一区二区三区思思人| 欧美va日韩va| 国产色产综合产在线视频| 中文字幕欧美日本乱码一线二线 | 91免费观看视频| 欧美在线一区二区| 欧美一区二区三区视频免费| 久久婷婷久久一区二区三区| 国产精品色哟哟| 一区二区三区毛片| 蜜桃久久av一区| 国产成人超碰人人澡人人澡| 91免费国产视频网站| 欧美日韩国产色站一区二区三区| 欧美一区二区三区人| 久久精品亚洲一区二区三区浴池| 国产精品乱码一区二三区小蝌蚪| 亚洲精品老司机| 另类欧美日韩国产在线| 成人影视亚洲图片在线| 欧美三电影在线| 2023国产精品视频| 一二三四区精品视频| 麻豆久久久久久久| 91在线小视频| 欧美草草影院在线视频| 亚洲美女视频一区| 久久国产精品区| 日本伦理一区二区| 精品国产免费人成在线观看| 亚洲欧美日韩中文播放| 激情欧美一区二区| 欧美日韩国产大片| 日韩理论片中文av| 久久av老司机精品网站导航| www.久久精品| 久久久欧美精品sm网站|