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

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

switch-<b>CASE</b>

  • 基于單片機的數字化B超鍵盤設計

    針對目前使用的RS232接口數字化B超鍵盤存在PC主機啟動時不能設置BIOS,提出一種PS2鍵盤的設計方法。基于W78E052D單片機,采用8通道串行A/D轉換器設計了8個TGC電位器信息采集電路,電位器位置信息以鍵盤掃描碼序列形式發送,正交編碼器信號通過XC9536XL轉換為單片機可接收的中斷信號,軟件接收到中斷信息后等效處理成按鍵。結果表明,在滿足開機可設置BIOS同時,又可實現超聲特有功能,不需要專門設計驅動程序,接口簡單,成本低。 Abstract:  Aiming at the problem of the digital ultrasonic diagnostic imaging system keyboard with RS232 interface currently used couldn?蒺t set the BIOS when the PC boot, this paper proposed a design method of PS2 keyboards. Based on W78E052D microcontroller,designed eight TGC potentiometers information acquisition circuit with 8-channel serial A/D converter, potentiometer position information sent out with keyboard scan code sequentially.The control circuit based on XC9536 CPLD is used for converting the mechanical actions of the encoders into the signals that can be identified by the MCU, software received interrupt information and equivalently treatmented as key. The results show that the BIOS can be set to meet the boot, ultrasound specific functionality can be achieved at the same time, it does not require specially designed driver,the interface is simple and low cost.    

    標簽: 單片機 B超 數字化 鍵盤設計

    上傳時間: 2013-10-10

    上傳用戶:asdfasdfd

  • PCA9549 Octal bus switch with

    The PCA9549 provides eight bits of high speed TTL-compatible bus switching controlledby the I2C-bus. The low ON-state resistance of the switch allows connections to be madewith minimal propagation delay. Any individual A to B channel or combination of channelscan be selected via the I2C-bus, determined by the contents of the programmable Controlregister. When the I2C-bus bit is HIGH (logic 1), the switch is on and data can flow fromPort A to Port B, or vice versa. When the I2C-bus bit is LOW (logic 0), the switch is open,creating a high-impedance state between the two ports, which stops the data flow.An active LOW reset input (RESET) allows the PCA9549 to recover from a situationwhere the I2C-bus is stuck in a LOW state. Pulling the RESET pin LOW resets the I2C-busstate machine and causes all the bits to be open, as does the internal power-on resetfunction.

    標簽: switch Octal 9549 with

    上傳時間: 2014-11-22

    上傳用戶:xcy122677

  • 驅動程序與應用程序的接口

    有兩種方式可以讓設備和應用程序之間聯系:1. 通過為設備創建的一個符號鏈;2. 通過輸出到一個接口WDM驅動程序建議使用輸出到一個接口而不推薦使用創建符號鏈的方法。這個接口保證PDO的安全,也保證安全地創建一個惟一的、獨立于語言的訪問設備的方法。一個應用程序使用Win32APIs來調用設備。在某個Win32 APIs和設備對象的分發函數之間存在一個映射關系。獲得對設備對象訪問的第一步就是打開一個設備對象的句柄。 用符號鏈打開一個設備的句柄為了打開一個設備,應用程序需要使用CreateFile。如果該設備有一個符號鏈出口,應用程序可以用下面這個例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3",  GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ,  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統本調用希望打開一個設備。這個設備必須有一個符號鏈,以便應用程序能夠打開它。有關細節查看有關Kdevice和CreateLink的內容。在上述調用中第一個參數中前綴后的部分就是這個符號鏈的名字。注意:CreatFile中的第一個參數不是Windows 98/2000中驅動程序(.sys文件)的路徑。是到設備對象的符號鏈。如果使用DriverWizard產生驅動程序,它通常使用類KunitizedName來構成設備的符號鏈。這意味著符號鏈名有一個附加的數字,通常是0。例如:如果鏈接名稱的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應用程序需要被覆蓋的I/O,第六個參數(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個輸出接口打開句柄用這種方式打開一個句柄會稍微麻煩一些。DriverWorks庫提供兩個助手類來使獲得對該接口的訪問容易一些,這兩個類是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類封裝了一個設備信息集,該信息集包含了特殊類中的所有設備接口信息。應用程序能有用CdeviceInterfaceClass類的一個實例來獲得一個或更多的CdeviceInterface類的實例。CdeviceInterface類是一個單一設備接口的抽象。它的成員函數DevicePath()返回一個路徑名的指針,該指針可以在CreateFile中使用來打開設備。下面用一個小例子來顯示這些類最基本的使用方法:extern GUID TestGuid;HANDLE OpenByInterface(  GUID* pClassGuid,  DWORD instance,  PDWORD pError){  CDeviceInterfaceClass DevClass(pClassGuid, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  CDeviceInterface DevInterface(&DevClass, instance, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  cout << "The device path is "    << DevInterface.DevicePath()    << endl;   HANDLE hDev;  hDev = CreateFile(   DevInterface.DevicePath(),    GENERIC_READ | GENERIC_WRITE,    FILE_SHARE_READ | FILE_SHARE_WRITE,    NULL,    OPEN_EXISTING,    FILE_ATTRIBUTE_NORMAL,    NULL  );  if (hDev == INVALID_HANDLE_VALUE)    *pError = GetLastError();  return hDev;} 在設備中執行I/O操作一旦應用程序獲得一個有效的設備句柄,它就能使用Win32 APIs來產生到設備對象的IRPs。下面的表顯示了這種對應關系。Win32 API  DRIVER_FUNCTION_xxxIRP_MJ_xxx  KDevice subclass member function CreateFile  CREATE  Create ReadFile  READ  Read WriteFile  WRITE  Write DeviceIoControl  DEVICE_CONTROL  DeviceControl CloseHandle  CLOSECLEANUP  CloseCleanUp 需要解釋一下設備類成員的Close和CleanUp:CreateFile使內核為設備創建一個新的文件對象。這使得多個句柄可以映射同一個文件對象。當這個文件對象的最后一個用戶級句柄被撤銷后,I/O管理器調用CleanUp。當沒有任何用戶級和核心級的對文件對象的訪問的時候,I/O管理器調用Close。如果被打開的設備不支持指定的功能,則調用相應的Win32將引起錯誤(無效功能)。以前為Windows95編寫的VxD的應用程序代碼中可能會在打開設備的時候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個屬性,因為它將導致沒有特權的用戶企圖打開這個設備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數轉換成IRP域的方法依賴于設備對象的屬性。當設備設置DO_DIRECT_IO標志,I/O管理器將buff鎖住在存儲器中,并且創建了一個存儲在IRP中的MDL域。一個設備可以通過調用Kirp::Mdl來存取MDL。當設備設置DO_BUFFERED_IO標志,設備對象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或寫操作獲得buff地址。當設備不設置DO_BUFFERED_IO標志也不設置DO_DIRECT_IO,內核設置IRP 的UserBuffer域來對應ReadFile或WriteFile中的buff參數。然而,存儲區并沒有被鎖住而且地址只對調用進程有效。驅動程序可以使用KIrp::UserBuffer來存取IRP域。對于DeviceIoControl調用,buffer參數的轉換依賴于特殊的I/O控制代碼,它不在設備對象的特性中。宏CTL_CODE(在winioctl.h中定義)用來構造控制代碼。這個宏的其中一個參數指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對應的能獲得輸入緩沖與輸出緩沖的KIrp中的成員函數:Method  Input Buffer Parameter  Output Buffer Parameter METHOD_BUFFERED  KIrp::IoctlBuffer KIrp::IoctlBuffer METHOD_IN_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_OUT_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_NEITHER  KIrp::IoctlType3InputBuffer KIrp::UserBuffer 如果控制代碼指明METHOD_BUFFERED,系統分配一個單一的緩沖來作為輸入與輸出。驅動程序必須在向輸出緩沖放數據之前拷貝輸入數據。驅動程序通過調用KIrp::IoctlBuffer獲得緩沖地址。在完成時,I/O管理器從系統緩沖拷貝數據到提供給Ring 3級調用者使用的緩沖中。驅動程序必須在結束前存儲拷貝到IRP的Information成員中的數據個數。如果控制代碼不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,則DeviceIoControl的參數呈現不同的含義。參數InputBuffer被拷貝到一個系統緩沖,這個緩沖驅動程序可以通過調用KIrp::IoctlBuffer。參數OutputBuffer被映射到KMemory對象,驅動程序對這個對象的訪問通過調用KIrp::Mdl來實現。對于METHOD_OUT_DIRECT,調用者必須有對緩沖的寫訪問權限。注意,對METHOD_NEITHER,內核只提供虛擬地址;它不會做映射來配置緩沖。虛擬地址只對調用進程有效。這里是一個用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來定義一個IOCTL代碼:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)現在使用一個DeviceIoControl調用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING,  NULL, // no input  注意,這里放的是包含有執行操作命令的字符串指針  0, FirmwareRev,      //這里是output串指針,存放從驅動程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize,  NULL // not overlapped I/O );如果輸出緩沖足夠大,設備拷貝串到里面并將拷貝的資結束設置到FirmwareRevSize中。在驅動程序中,代碼看起來如下所示:const char* FIRMWARE_REV = "FW 16.33 v5";NTSTATUS MyDevice::DeviceControl( KIrp I ){  ULONG fwLength=0;  switch ( I.IoctlCode() )  {    case IOCTL_MYDEV_GET_FIRMWARE_REV:      fwLength = strlen(FIRMWARE_REV)+1;      if (I.IoctlOutputBufferSize() >= fwLength)      {        strcpy((PCHAR)I.IoctlBuffer(),FIRMWARE_REV);        I.Information() = fwLength;         return I.Complete(STATUS_SUCCESS);      }      else      {              }    case . . .   } }

    標簽: 驅動程序 應用程序 接口

    上傳時間: 2013-10-17

    上傳用戶:gai928943

  • TKS仿真器B系列快速入門

    TKS仿真器B系列快速入門

    標簽: TKS 仿真器 快速入門

    上傳時間: 2013-10-31

    上傳用戶:aix008

  • 一個簡單好用的B+樹算法實現

    一個簡單好用的B+樹算法實現

    標簽: 算法

    上傳時間: 2015-01-04

    上傳用戶:縹緲

  • 一個用Basic實現的B-Tree算法

    一個用Basic實現的B-Tree算法

    標簽: B-Tree Basic 算法

    上傳時間: 2013-12-30

    上傳用戶:ccclll

  • 一個用Java applet實現的B-Tree算法

    一個用Java applet實現的B-Tree算法

    標簽: B-Tree applet Java 算法

    上傳時間: 2013-12-25

    上傳用戶:qiao8960

  • 用C++實現的B-Tree算法

    用C++實現的B-Tree算法

    標簽: B-Tree 算法

    上傳時間: 2014-01-20

    上傳用戶:jiahao131

  • 用Borland C寫的B-Tree算法

    用Borland C寫的B-Tree算法

    標簽: Borland B-Tree 算法

    上傳時間: 2014-12-05

    上傳用戶:xzt

  • java 版B+樹程序

    java 版B+樹程序

    標簽: java 程序

    上傳時間: 2015-01-06

    上傳用戶:chenjjer

亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费短视频成人日韩| 国产日韩精品久久久| 亚洲欧洲另类国产综合| 国产精品久久久久三级| 欧美激情综合亚洲一二区 | 亚洲国产精品美女| 欧美高清视频免费观看| 欧美不卡视频一区发布| 欧美成人精品一区| 欧美电影资源| 欧美韩国一区| 欧美日本国产精品| 欧美日韩亚洲系列| 欧美午夜不卡在线观看免费 | 亚洲一区三区电影在线观看| 亚洲精品激情| 一区二区欧美精品| 亚洲女性裸体视频| 久久精品国产69国产精品亚洲| 欧美中文在线观看| 久久精品首页| 欧美va亚洲va香蕉在线| 欧美好吊妞视频| 欧美色视频一区| 国产精品丝袜白浆摸在线| 国产色爱av资源综合区| 在线播放日韩欧美| 99国产精品一区| 亚洲综合国产| 久久午夜色播影院免费高清| 美女脱光内衣内裤视频久久影院 | 国产精品久久77777| 国产精品视频yy9099| 国产三级欧美三级| 亚洲大片在线| 一区二区三区日韩欧美精品| 亚洲欧美激情视频| 久久久久.com| 欧美日韩另类一区| 国产午夜精品视频| 亚洲精品男同| 久久不射网站| 欧美日韩卡一卡二| 国内视频一区| 亚洲视频精品| 欧美.日韩.国产.一区.二区| 欧美日韩日韩| 极品av少妇一区二区| 亚洲精品自在久久| 欧美一区永久视频免费观看| 欧美激情一区二区三区蜜桃视频| 国产精品欧美精品| 亚洲激情网站| 久久精品一区| 欧美先锋影音| 最新中文字幕一区二区三区| 欧美一区二区私人影院日本| 欧美精品一区二区三区蜜臀| 国产欧美日韩亚州综合| 亚洲高清毛片| 欧美在线视频一区二区| 欧美日韩精品一区二区三区| 韩日欧美一区| 午夜精品视频网站| 欧美午夜性色大片在线观看| 亚洲国产精品久久91精品| 午夜视频久久久久久| 欧美区视频在线观看| 国产日韩欧美不卡在线| 一区二区三区四区蜜桃| 欧美不卡在线视频| 黄色成人在线观看| 欧美呦呦网站| 国产精品一区二区三区免费观看 | 欧美日韩精品一二三区| 亚洲电影在线播放| 久久女同互慰一区二区三区| 国产精品嫩草99a| 亚洲一二区在线| 欧美视频四区| 99精品黄色片免费大全| 国产人成一区二区三区影院| 日韩五码在线| 欧美国产精品日韩| 亚洲黄色一区| 麻豆freexxxx性91精品| 亚洲第一精品福利| 免费在线看成人av| 亚洲国产日韩一区二区| 久久午夜电影| 亚洲国产精品久久久久秋霞不卡| 久久精品国产欧美激情 | 伊人影院久久| 久久精品国产综合| 尤物九九久久国产精品的分类| 午夜在线精品| 国产亚洲福利| 久久久久久精| 亚洲电影免费观看高清完整版在线 | 欧美麻豆久久久久久中文| 亚洲福利久久| 欧美激情一区二区三区在线| 日韩一区二区精品在线观看| 欧美三区免费完整视频在线观看| 一区二区三区日韩| 国产精品亚洲综合一区在线观看| 欧美亚洲一级| 1000精品久久久久久久久| 欧美高清在线| 亚洲欧美制服另类日韩| 激情久久久久| 欧美日韩国产三级| 午夜精品久久久久影视| 国内揄拍国内精品久久 | 国产精品www网站| 亚洲欧美激情一区| 伊人久久久大香线蕉综合直播| 欧美国产视频日韩| 亚洲午夜小视频| 激情五月综合色婷婷一区二区| 欧美大片免费久久精品三p| 在线视频欧美一区| 国内精品久久久久影院优| 欧美金8天国| 欧美在线在线| 亚洲免费电影在线| 国产欧美视频一区二区| 欧美激情久久久| 久久av红桃一区二区小说| 亚洲美女在线国产| 国产亚洲在线观看| 欧美日韩国产综合一区二区| 久久精品国产96久久久香蕉| 99视频一区| 激情成人中文字幕| 国产精品狼人久久影院观看方式| 久久久综合网站| 99www免费人成精品| 国产一区二区在线观看免费播放| 欧美日本韩国一区| 久久久久亚洲综合| 亚洲尤物在线视频观看| 亚洲黄页一区| 亚洲欧美日韩在线播放| 在线播放豆国产99亚洲| 国产精品素人视频| 欧美日韩午夜视频在线观看| 久久久国产精彩视频美女艺术照福利| 99国产精品久久久久老师| 在线成人免费观看| 国产精品自拍在线| 欧美亚州韩日在线看免费版国语版| 玖玖视频精品| 久久久久久久一区二区| 午夜免费久久久久| 亚洲天堂成人在线视频| 亚洲精品国产精品国自产在线| 国内一区二区三区在线视频| 国产欧美短视频| 国产精品视频一| 国产精品极品美女粉嫩高清在线 | 亚洲肉体裸体xxxx137| 国产午夜精品一区二区三区欧美 | 久久久久久久久蜜桃| 亚洲欧美日韩另类| 亚洲精品一区二区三区婷婷月| 激情久久久久久久| 国产日韩欧美亚洲一区| 国产精品麻豆成人av电影艾秋| 欧美日韩精品福利| 欧美区亚洲区| 欧美体内she精视频| 欧美日韩精品免费观看视一区二区| 欧美第一黄色网| 欧美激情第8页| 国产老女人精品毛片久久| 欧美在线观看视频一区二区| 亚洲区免费影片| 在线电影国产精品| 久久久一区二区三区| 欧美理论电影在线观看| 亚洲综合色噜噜狠狠| 国产亚洲精品资源在线26u| 久久久久欧美精品| 在线免费观看欧美| 久久亚洲一区二区三区四区| 伊人狠狠色丁香综合尤物| 亚洲综合另类| 欧美日韩人人澡狠狠躁视频| 亚洲精品欧美日韩专区| 国产精品男gay被猛男狂揉视频| 性欧美长视频| 在线看不卡av| 欧美日韩在线观看视频| 欧美专区日韩视频| 亚洲国产高清在线观看视频| 国产精品久久久久久一区二区三区| 久久夜色精品亚洲噜噜国产mv| 国产在线观看91精品一区| 欧美福利视频网站|