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

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

?? hwdrv_apci1516.c

?? 最新版comedi的源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/**@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     : APCI-1516       | Compiler   : GCC                      |  | Module name : hwdrv_apci1516.c| Version    : 2.96                     |  +-------------------------------+---------------------------------------+  | Project manager: Eric Stolz   | Date       :  02/12/2002              |  +-------------------------------+---------------------------------------+  | Description :   Hardware Layer Acces For APCI-1516                    |  +-----------------------------------------------------------------------+  |                             UPDATES                                   |  +----------+-----------+------------------------------------------------+  |   Date   |   Author  |          Description of updates                |  +----------+-----------+------------------------------------------------+  |          |           |                                                |  |          |           |                                                |  |          |           |                                                |  +----------+-----------+------------------------------------------------+*//*+----------------------------------------------------------------------------+|                               Included files                               |+----------------------------------------------------------------------------+*/#include "hwdrv_apci1516.h"/*+----------------------------------------------------------------------------+| Function   Name   : int i_APCI1516_Read1DigitalInput                       ||			  (comedi_device *dev,comedi_subdevice *s,               ||                      comedi_insn *insn,lsampl_t *data)                     |+----------------------------------------------------------------------------+| Task              : Return the status of the digital input                 |+----------------------------------------------------------------------------+| Input Parameters  : comedi_device *dev      : Driver handle                ||		       comedi_subdevice *s,   :pointer to subdevice structure                       comedi_insn *insn      :pointer to insn structure     ||                     lsampl_t *data          : Data Pointer to read status  |+----------------------------------------------------------------------------+| Output Parameters :	--													 |+----------------------------------------------------------------------------+| Return Value      : TRUE  : No error occur                                 ||		            : FALSE : Error occur. Return the error          ||			                                                         |+----------------------------------------------------------------------------+*/INT i_APCI1516_Read1DigitalInput(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data){   UINT ui_TmpValue=0;   UINT ui_Channel;   ui_Channel=CR_CHAN(insn->chanspec);   if  (ui_Channel >= 0 && ui_Channel <=7)      {      ui_TmpValue=(UINT) inw(devpriv->iobase + APCI1516_DIGITAL_IP);      //  since only 1 channel reqd  to bring it to last bit it is rotated       //  8 +(chan - 1) times then ANDed with 1 for last bit.       *data = (ui_TmpValue >> ui_Channel)&0x1 ;      }//if(ui_Channel >= 0 && ui_Channel <=7)   else       {      //comedi_error(dev," \n chan spec wrong\n");      return -EINVAL;   // "sorry channel spec wrong "      }//else if(ui_Channel >= 0 && ui_Channel <=7)  return insn->n;}/*+----------------------------------------------------------------------------+| Function   Name   : int i_APCI1516_ReadMoreDigitalInput                    ||			  (comedi_device *dev,comedi_subdevice *s,               ||                     comedi_insn *insn,lsampl_t *data)                      |+----------------------------------------------------------------------------+| Task              : Return the status of the Requested digital inputs      |+----------------------------------------------------------------------------+| Input Parameters  : comedi_device *dev      : Driver handle                ||                      comedi_subdevice *s,   :pointer to subdevice structure                       comedi_insn *insn      :pointer to insn structure     ||                      lsampl_t *data         : Data Pointer to read status  |+----------------------------------------------------------------------------+| Output Parameters :	--													 |+----------------------------------------------------------------------------+| Return Value      : TRUE  : No error occur                                 ||		            : FALSE : Error occur. Return the error          ||			                                                         |+----------------------------------------------------------------------------+*/INT i_APCI1516_ReadMoreDigitalInput(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data){    UINT ui_PortValue=data[0];   UINT ui_Mask=0;   UINT ui_NoOfChannels;      ui_NoOfChannels=CR_CHAN(insn->chanspec);         *data=(UINT)inw(devpriv->iobase + APCI1516_DIGITAL_IP );      switch (ui_NoOfChannels)	{	 case 2:ui_Mask=3;               *data=(*data >>(2*ui_PortValue))&ui_Mask;                break;	 case 4:ui_Mask=15;               *data=(*data >>(4*ui_PortValue))&ui_Mask; 	       break;	 case 7:break;                default:	        printk("\nWrong parameters\n");		return -EINVAL;   // "sorry channel spec wrong "                  break;        }//switch(ui_NoOfChannels)           return insn->n;}/*+----------------------------------------------------------------------------+| Function   Name   : int i_APCI1516_ConfigDigitalOutput (comedi_device *dev,                    comedi_subdevice *s comedi_insn *insn,lsampl_t *data)    ||				                                                     |+----------------------------------------------------------------------------+| Task              : Configures The Digital Output Subdevice.               |+----------------------------------------------------------------------------+| Input Parameters  : comedi_device *dev : Driver handle                     ||                     lsampl_t *data         : Data Pointer contains         ||                                          configuration parameters as below ||                      comedi_subdevice *s,   :pointer to subdevice structure                       comedi_insn *insn      :pointer to insn structure                                                           | |					  data[0]  :1:Memory on                          | |					            0:Memory off                         | 	|										                             | |																	 |+----------------------------------------------------------------------------+| Output Parameters :	--													 |+----------------------------------------------------------------------------+| Return Value      : TRUE  : No error occur                                 ||		            : FALSE : Error occur. Return the error          ||			                                                         |+----------------------------------------------------------------------------+*/int i_APCI1516_ConfigDigitalOutput(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data){ devpriv->b_OutputMemoryStatus=data[0];return insn->n;}/*+----------------------------------------------------------------------------+| Function   Name   : int i_APCI1516_WriteDigitalOutput                      ||			(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,                     lsampl_t *data)                                         |+----------------------------------------------------------------------------+| Task              : Writes port value  To the selected port                |+----------------------------------------------------------------------------+| Input Parameters  : comedi_device *dev      : Driver handle                ||                     comedi_subdevice *s,   :pointer to subdevice structure                      comedi_insn *insn      :pointer to insn structure      ||                    lsampl_t *data           : Data Pointer to read status  |+----------------------------------------------------------------------------+| Output Parameters :	--													 |+----------------------------------------------------------------------------+| Return Value      : TRUE  : No error occur                                 ||		            : FALSE : Error occur. Return the error          ||			                                                         |+----------------------------------------------------------------------------+*/INT i_APCI1516_WriteDigitalOutput(comedi_device *dev,comedi_subdevice *s,comedi_insn *insn,lsampl_t *data) {UINT ui_Temp,ui_Temp1;UINT ui_NoOfChannel = CR_CHAN(insn->chanspec); // get the channelprintk("EL311003 : @=%x\n",devpriv->iobase+APCI1516_DIGITAL_OP);  if(devpriv->b_OutputMemoryStatus )   {   ui_Temp=inw(devpriv->iobase+APCI1516_DIGITAL_OP);    }//if(devpriv->b_OutputMemoryStatus ) else   {   ui_Temp=0;    }//if(devpriv->b_OutputMemoryStatus )if(data[3]==0)  {   if(data[1]==0)    {     data[0]=(data[0] << ui_NoOfChannel)|ui_Temp;     outw(data[0],devpriv->iobase+APCI1516_DIGITAL_OP);           printk("EL311003 : d=%d @=%x\n",data[0],devpriv->iobase+APCI1516_DIGITAL_OP);          }//if(data[1]==0)   else    {    if(data[1]==1)       {        switch( ui_NoOfChannel)	 {	 case 2: data[0]=(data[0] << (2*data[2]))|ui_Temp; 	       break;	 case 4:data[0]=(data[0] << (4*data[2]))|ui_Temp;	       break;	 case 7:data[0]=data[0]|ui_Temp;               break;         default: 	          comedi_error(dev," chan spec wrong");		  return -EINVAL;   // "sorry channel spec wrong "                           }//switch(ui_NoOfChannels)        outw(data[0],devpriv->iobase+APCI1516_DIGITAL_OP);          printk("EL311003 : d=%d @=%x\n",data[0],devpriv->iobase+APCI1516_DIGITAL_OP);      }// if(data[1]==1)   else     {     printk("\nSpecified channel not supported\n");     }//else if(data[1]==1)   }//elseif(data[1]==0) }//if(data[3]==0)else   {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品粉嫩超白一线天av| 国产一区二区三区日韩| 三级一区在线视频先锋| 国产成人8x视频一区二区| 欧洲国内综合视频| 国产女人aaa级久久久级| 激情另类小说区图片区视频区| 成人晚上爱看视频| 中文成人综合网| 国产成人精品亚洲日本在线桃色| 精品美女在线播放| 加勒比av一区二区| 国产日韩精品久久久| 国产不卡视频一区| 国产日本亚洲高清| 菠萝蜜视频在线观看一区| 亚洲国产精华液网站w| 高清久久久久久| 丝袜诱惑制服诱惑色一区在线观看| 韩日av一区二区| 国产精品亚洲午夜一区二区三区| 欧美系列日韩一区| 天天做天天摸天天爽国产一区| 中文字幕第一页久久| 亚洲欧美怡红院| 中文字幕av一区二区三区高| 欧美剧情片在线观看| 色婷婷av一区二区三区大白胸 | 欧美r级电影在线观看| 91福利视频网站| 91在线观看污| 成人h版在线观看| 欧美日韩极品在线观看一区| 日本三级亚洲精品| 欧美一区二区三区在线电影| 国产激情精品久久久第一区二区 | 日韩久久精品一区| 色菇凉天天综合网| 91香蕉视频mp4| 成人av电影免费观看| 国产成人鲁色资源国产91色综 | 久久久青草青青国产亚洲免观| 日韩三级伦理片妻子的秘密按摩| 在线成人免费观看| 欧美情侣在线播放| 91精品国产综合久久久久久久久久 | 久久免费精品国产久精品久久久久| 欧美一级高清大全免费观看| 欧美一二三区在线| 欧美xfplay| 日韩你懂的在线播放| 亚洲精品在线网站| 成人激情免费电影网址| 成人一区二区三区视频在线观看| 国产麻豆精品theporn| 国产乱妇无码大片在线观看| 成人综合婷婷国产精品久久免费| 国产精品亚洲视频| 欧美一区二区三区免费观看视频 | 日韩电影免费在线| 久久99精品久久久久| 国产剧情一区二区| k8久久久一区二区三区| 色网综合在线观看| 在线成人午夜影院| 国产欧美精品一区aⅴ影院| 国产精品三级久久久久三级| 亚洲欧美激情小说另类| 天天综合色天天综合| 国产一区二区剧情av在线| 国产精品久久三区| 欧美一区二区三区免费视频| 欧美伦理电影网| 精品福利av导航| 亚洲欧洲综合另类| 丝袜诱惑亚洲看片| 国产麻豆精品theporn| 91在线一区二区三区| 欧美精品日韩精品| 国产日本一区二区| 婷婷久久综合九色综合绿巨人| 久草中文综合在线| 91麻豆福利精品推荐| 日韩一区二区影院| 亚洲视频在线一区| 麻豆成人久久精品二区三区小说| 国产精品18久久久久久久久久久久| 91免费在线视频观看| 日韩久久免费av| 亚洲黄色片在线观看| 狠狠色狠狠色综合日日91app| 91麻豆免费在线观看| 日韩免费视频一区二区| 亚洲欧洲综合另类在线| 精品在线免费观看| 欧美中文字幕一二三区视频| 欧美精品一区二区三区视频 | 日韩高清不卡在线| av在线免费不卡| 日韩一区二区免费电影| 国产精品欧美一级免费| 蜜桃久久精品一区二区| 色中色一区二区| 久久精品在线免费观看| 日本aⅴ亚洲精品中文乱码| 91免费在线看| 欧美国产禁国产网站cc| 蜜乳av一区二区三区| 欧美中文字幕一二三区视频| 国产精品国产a| 国产一区 二区 三区一级| 欧美精品在线视频| 亚洲视频一区二区在线| 懂色av一区二区夜夜嗨| 欧美成人精品3d动漫h| 亚洲一区二区av电影| 99re视频这里只有精品| 中文字幕国产一区二区| 国内精品伊人久久久久av影院| 欧美人牲a欧美精品| 亚洲一区视频在线观看视频| av高清不卡在线| 国产精品青草综合久久久久99| 韩国精品在线观看| 欧美电影免费提供在线观看| 午夜日韩在线电影| 欧美综合欧美视频| 亚洲黄网站在线观看| 91老司机福利 在线| 国产精品嫩草99a| 成人国产精品免费网站| 欧美国产视频在线| 成人精品国产福利| 国产精品色哟哟| 成人a区在线观看| 国产精品成人网| eeuss鲁片一区二区三区在线观看| 久久久久久久综合| 国产成人精品免费在线| 中文字幕欧美激情| www.一区二区| 亚洲另类一区二区| 欧美日韩亚洲丝袜制服| 91丨porny丨最新| 中文字幕在线不卡| 91啪九色porn原创视频在线观看| 国产精品乱码一区二区三区软件| 成人午夜伦理影院| 综合自拍亚洲综合图不卡区| 日本精品一区二区三区高清| 亚洲最大的成人av| 欧美丰满美乳xxx高潮www| 日本不卡的三区四区五区| 日韩欧美国产一二三区| 久久精品国产网站| 国产午夜一区二区三区| 成人久久18免费网站麻豆| 亚洲另类在线制服丝袜| 7777精品伊人久久久大香线蕉完整版 | 亚洲资源中文字幕| 欧美老肥妇做.爰bbww| 久久国产乱子精品免费女| 久久综合999| 91丝袜国产在线播放| 亚洲国产欧美一区二区三区丁香婷| 欧美精品777| 国产剧情在线观看一区二区| 亚洲特黄一级片| 7777精品伊人久久久大香线蕉的 | 欧美日韩在线播| 美女高潮久久久| 中文字幕av不卡| 在线精品观看国产| 蜜桃视频一区二区| 亚洲欧美自拍偷拍色图| 在线不卡一区二区| 国产99精品国产| 亚洲国产欧美在线| 国产女同互慰高潮91漫画| 欧美午夜影院一区| 国产自产高清不卡| 亚洲综合成人在线| 精品1区2区在线观看| 日本高清视频一区二区| 久久电影国产免费久久电影 | 国产欧美日韩亚州综合| 日本韩国欧美一区二区三区| 久久99精品久久久久久| 亚洲精品免费电影| 26uuuu精品一区二区| 欧洲在线/亚洲| 国产成人av电影| 日本一道高清亚洲日美韩| 国产精品久久久久天堂| 欧美一区二区三区免费视频| 91免费小视频| 国产精品一区二区不卡| 爽爽淫人综合网网站| 日韩一区在线免费观看| 久久免费视频色|