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

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

N<b>進制計數器</b>原

  • 十六進制編輯器

    關鍵詞TKStudio,HexEditor,十六進制,編輯器摘 要十六進制編輯器HexEditor是TKStudio附帶的輔助工具,用來顯示或編輯十六進制文件。

    標簽: 十六進制 編輯器

    上傳時間: 2014-12-28

    上傳用戶:tiantwo

  • 問題描述 序列Z=<B

    問題描述 序列Z=<B,C,D,B>是序列X=<A,B,C,B,D,A,B>的子序列,相應的遞增下標序列為<2,3,5,7>。 一般地,給定一個序列X=<x1,x2,…,xm>,則另一個序列Z=<z1,z2,…,zk>是X的子序列,是指存在一個嚴格遞增的下標序列〈i1,i2,…,ik〉使得對于所有j=1,2,…,k使Z中第j個元素zj與X中第ij個元素相同。 給定2個序列X和Y,當另一序列Z既是X的子序列又是Y的子序列時,稱Z是序列X和Y的公共子序列。 你的任務是:給定2個序列X、Y,求X和Y的最長公共子序列Z。

    標簽: lt 序列

    上傳時間: 2014-01-25

    上傳用戶:netwolf

  • 給你A,B兩個字符串

    給你A,B兩個字符串,檢查B串是否是A串的子串,類似于Java的String.indexOf("")。找到匹配失敗時的最合適的回退位置,而不是簡單的回退到子串的第一個字符(常規(guī)的枚舉查找方式,是簡單的回退到子串的第一個字符,KMP算法的性能分析Java實現實例)*此僅供大家參考、交流,希望對大家有所幫助!

    標簽: 字符串

    上傳時間: 2017-05-20

    上傳用戶:498732662

  • SN系列用戶手冊B版

    SN系列用戶手冊B版SN系列用戶手冊B版SN系列用戶手冊B版SN系列用戶手冊B版SN系列用戶手冊B版

    標簽: 用戶手冊

    上傳時間: 2017-05-28

    上傳用戶:黑色的馬

  • (網盤)PCB制板視頻教程

    |- 13.PCB設計深入 - 0 B|- 9PCB制板視頻教程.rar - 61.40 MB|- 9.集成庫的作用和制作c.avi - 87.80 MB|- 9.集成庫的作用和制作b.avi - 67.10 MB|- 9.集成庫的作用和制作a.avi - 786.20 MB|- 8PCB制板視頻教程.rar - 177.70 MB|- 8.PCB庫的設計b.rmvb - 162.30 MB|- 8.PCB庫的設計a.avi - 972.80 MB|- 13.PCB設計深入.rar - 195.40 MB|- 12.PCB設計提高.rar - 222.10 MB|- 11.PCB設計進階.rar - 269.20 MB|- 10.PCB設計初步d.avi - 561.40 MB|- 10.PCB設計初步c.rmvb - 227.10 MB|- 10.PCB設計初步b.avi - 727.20 MB|- 10.PCB設計初步a.avi - 495.20 MB|- 10.PCB設計初步.rar - 314.60 MB|- 1.Altium Designer概述a .avi - 427.00 MB

    標簽: pcb

    上傳時間: 2022-06-06

    上傳用戶:

  • Quectel Wireless Solutions BC20-TE-B 原理圖 V1.2

    BC20-TE-B NB-Iot 評估板評估板原廠原理圖V1.2。完整對應實物裝置。

    標簽: BC20 NB-Iot Quectel

    上傳時間: 2022-06-17

    上傳用戶:

  • ADS2005中文培訓教程.rar

    目 錄 實驗一、 電路仿真基礎 ………………………………………………………… 1 實驗二、 系統仿真基礎 ………………………………………………………… 20 實驗三、 DC仿真和電路模型 …………………………………………………… 36 實驗四、 AC仿真和調整 ………………………………………………………… 55 實驗五、 S參數仿真和優(yōu)化 …………………………………………………… 72 實驗六、 濾波器:瞬態(tài),設計指導,momentum,DAC …………………… 95 實驗七、 諧波平衡仿真 …………………………………………………………115 實驗八、 電路包絡仿真 …………………………………………………………132 實驗九、 最終電路/系統仿真 ………………………………………………… 147 附錄A、 射頻瞬態(tài)仿真器 ………………………………………………………167 附錄B、 諧波平衡仿真器 ………………………………………………………173 附錄C、電路包絡仿真器 ……………………………………………………… 181 《ADS2005仿真實驗教程》是設計一個用于1900MHz GSM的RF接收系統,包含的部件主要有: ? 200MHz由集總參數元件構成的低通濾波器 ? 1900MHz由微帶線構成的帶通濾波器 ? 1900MHz的功放 ? 把1900MHz變到200MHz的混頻器 ? 其他小部件 在完成這個系統的過程中,就可以掌握目錄所示的內

    標簽: 2005 ADS 培訓教程

    上傳時間: 2013-04-24

    上傳用戶:Minly

  • 單片機指令系統原理

    單片機指令系統原理 51單片機的尋址方式 學習匯編程序設計,要先了解CPU的各種尋址法,才能有效的掌握各個命令的用途,尋址法是命令運算碼找操作數的方法。在我們學習的8051單片機中,有6種尋址方法,下面我們將逐一進行分析。 立即尋址 在這種尋址方式中,指令多是雙字節(jié)的,一般第一個字節(jié)是操作碼,第二個字節(jié)是操作數。該操作數直接參與操作,所以又稱立即數,有“#”號表示。立即數就是存放在程序存儲器中的常數,換句話說就是操作數(立即數)是包含在指令字節(jié)中的。 例如:MOV  A,#3AH這條指令的指令代碼為74H、3AH,是雙字節(jié)指令,這條指令的功能是把立即數3AH送入累加器A中。MOV  DPTR,#8200H在前面學單片機的專用寄存器時,我們已學過,DPTR是一個16位的寄存器,它由DPH及DPL兩個8位的寄存器組成。這條指令的意思就是把立即數的高8位(即82H)送入DPH寄存器,把立即數的低8位(即00H)送入DPL寄存器。這里也特別說明一下:在80C51單片機的指令系統中,僅有一條指令的操作數是16位的立即數,其功能是向地址指針DPTR傳送16位的地址,即把立即數的高8位送入DPH,低8位送入DPL。 直接尋址 直接尋址方式是指在指令中操作數直接以單元地址的形式給出,也就是在這種尋址方式中,操作數項給出的是參加運算的操作數的地址,而不是操作數。例如:MOV  A,30H  這條指令中操作數就在30H單元中,也就是30H是操作數的地址,并非操作數。 在80C51單片機中,直接地址只能用來表示特殊功能寄存器、內部數據存儲器以及位地址空間,具體的說就是:1、內部數據存儲器RAM低128單元。在指令中是以直接單元地址形式給出。我們知道低128單元的地址是00H-7FH。在指令中直接以單元地址形式給出這句話的意思就是這0-127共128位的任何一位,例如0位是以00H這個單元地址形式給出、1位就是以01H單元地址給出、127位就是以7FH形式給出。2、位尋址區(qū)。20H-2FH地址單元。3、特殊功能寄存器。專用寄存器除以單元地址形式給出外,還可以以寄存器符號形式給出。例如下面我們分析的一條指令 MOV  IE,#85H 前面的學習我們已知道,中斷允許寄存器IE的地址是80H,那么也就是這條指令可以以MOV  IE,#85H 的形式表述,也可以MOV  80H,#85H的形式表述。 關于數據存儲器RAM的內部情況,請查看我們課程的第十二課。 直接尋址是唯一能訪問特殊功能寄存器的尋址方式! 大家來分析下面幾條指令:MOV  65H,A       ;將A的內容送入內部RAM的65H單元地址中MOV  A,direct    ;將直接地址單元的內容送入A中MOV  direct,direct;將直接地址單元的內容送直接地址單元MOV  IE,#85H      ;將立即數85H送入中斷允許寄存器IE 前面我們已學過,數據前面加了“#”的,表示后面的數是立即數(如#85H,就表示85H就是一個立即數),數據前面沒有加“#”號的,就表示后面的是一個地址地址(如,MOV 65H,A這條指令的65H就是一個單元地址)。 寄存器尋址 寄存器尋址的尋址范圍是:1、4個工作寄存器組共有32個通用寄存器,但在指令中只能使用當前寄存器組(工作寄存器組的選擇在前面專用寄存器的學習中,我們已知道,是由程序狀態(tài)字PSW中的RS1和RS0來確定的),因此在使用前常需要通過對PSW中的RS1、RS0位的狀態(tài)設置,來進行對當前工作寄存器組的選擇。2、部份專用寄存器。例如,累加器A、通用寄存器B、地址寄存器DPTR和進位位CY。 寄存器尋址方式是指操作數在寄存器中,因此指定了寄存器名稱就能得到操作數。例如:MOV A,R0這條指令的意思是把寄存器R0的內容傳送到累加器A中,操作數就在R0中。INC R3這條指令的意思是把寄存器R3中的內容加1 從前面的學習中我產應可以理解到,其實寄存器尋址方式就是對由PSW程序狀態(tài)字確定的工作寄存器組的R0-R7進行讀/寫操作。 寄存器間接尋址 寄存間接尋址方式是指寄存器中存放的是操作數的地址,即操作數是通過寄存器間接得到的,因此稱為寄存器間接尋址。 MCS-51單片機規(guī)定工作寄存器的R0、R1做為間接尋址寄存器。用于尋址內部或外部數據存儲器的256個單元。為什么會是256個單元呢?我們知道,R0或者R1都是一個8位的寄存器,所以它的尋址空間就是2的八次方=256。例:MOV  R0,#30H  ;將值30H加載到R0中    MOV  A,@R0    ;把內部RAM地址30H內的值放到累加器A中    MOVX A,@R0    ;把外部RAM地址30H內的值放到累加器A中 大家想想,如果用DPTR做為間址寄存器,那么它的尋址范圍是多少呢?DPTR是一個16位的寄存器,所以它的尋址范圍就是2的十六次方=65536=64K。因用DPTR做為間址寄存器的尋址空間是64K,所以訪問片外數據存儲器時,我們通常就用DPTR做為間址寄存器。例:MOV   DPTR,#1234H  ;將DPTR值設為1234H(16位)    MOVX  A,@DPTR      ;將外部RAM或I/O地址1234H內的值放到累加器A中 在執(zhí)行PUSH(壓棧)和POP(出棧)指令時,采用堆棧指針SP作寄存器間接尋址。例:PUSH  30H    ;把內部RAM地址30H內的值放到堆棧區(qū)中堆棧區(qū)是由SP寄存器指定的,如果執(zhí)行上面這條命令前,SP為60H,命令執(zhí)行后會把內部RAM地址30H內的值放到RAM的61H內。 那么做為寄存器間接尋址用的寄存器主要有哪些呢?我們前面提到的有四個,R0、R1、DPTR、SP 寄存器間接尋址范圍總結:1、內部RAM低128單元。對內部RAM低128單元的間接尋址,應使用R0或R1作間址寄存器,其通用形式為@Ri(i=0或1)。 2、外部RAM 64KB。對外部RAM64KB的間接尋址,應使用@DPTR作間址尋址寄存器,其形式為:@DPTR。例如MOVX A,@DPTR;其功能是把DPTR指定的外部RAM的單元的內容送入累加器A中。外部RAM的低256單元是一個特殊的尋址區(qū),除可以用DPTR作間址寄存器尋址外,還可以用R0或R1作間址寄存器尋址。例如MOVX  A,@R0;這條指令的意思是,把R0指定的外部RAM單元的內容送入累加器A。 堆棧操作指令(PUSH和POP)也應算作是寄存器間接尋址,即以堆棧指針SP作間址寄存器的間接尋址方式。 寄存器間接尋址方式不可以訪問特殊功能寄存器!! 寄存器間接尋址也須以寄存器符號的形式表示,為了區(qū)別寄存器尋址我寄存器間接尋址的區(qū)別,在寄存器間接尋址方式式中,寄存器的名稱前面加前綴標志“@”。 基址寄存器加變址寄存器的變址尋址 這種尋址方式以程序計數器PC或DPTR為基址寄存器,累加器A為變址寄存器,變址尋址時,把兩者的內容相加,所得到的結果作為操作數的地址。這種方式常用于訪問程序存儲器ROM中的數據表格,即查表操作。變址尋址只能讀出程序內存入的值,而不能寫入,也就是說變址尋址這種方式只能對程序存儲器進行尋址,或者說它是專門針對程序存儲器的尋址方式。例:MOVC  A,@A+DPTR這條指令的功能是把DPTR和A的內容相加,再把所得到的程序存儲器地址單元的內容送A假若指令執(zhí)行前A=54H,DPTR=3F21H,則這條指令變址尋址形成的操作數地址就是54H+3F21H=3F75H。如果3F75H單元中的內容是7FH,則執(zhí)行這條指令后,累加器A中的內容就是7FH。 變址尋址的指令只有三條,分別如下:JMP    @A+DPTRMOVC   A,@A+DPTRMOVC   A,@A+PC 第一條指令JMP @A+DPTR這是一條無條件轉移指令,這條指令的意思就是DPTR加上累加器A的內容做為一個16位的地址,執(zhí)行JMP這條指令是,程序就轉移到A+DPTR指定的地址去執(zhí)行。 第二、三條指令MOVC   A,@A+DPTR和MOVC   A,@A+PC指令這兩條指令的通常用于查表操作,功能完全一樣,但使用起來卻有一定的差別,現詳細說明如下。我們知道,PC是程序指針,是十六位的。DPTR是一個16位的數據指針寄存器,按理,它們的尋址范圍都應是64K。我們在學習特殊功能寄存器時已知道,程序計數器PC是始終跟蹤著程序的執(zhí)行的。也就是說,PC的值是隨程序的執(zhí)行情況自動改變的,我們不可以隨便的給PC賦值。而DPTR是一個數據指針,我們就可以給空上數據指針DPTR進行賦值。我們再看指令MOVC   A,@A+PC這條指令的意思是將PC的值與累加器A的值相加作為一個地址,而PC是固定的,累加器A是一個8位的寄存器,它的尋址范圍是256個地址單元。講到這里,大家應可明白,MOVC   A,@A+PC這條指令的尋址范圍其實就是只能在當前指令下256個地址單元。所在,這在我們實際應用中,可能就會有一個問題,如果我們需要查詢的數據表在256個地址單元之內,則可以用MOVC   A,@A+PC這條指令進行查表操作,如果超過了256個單元,則不能用這條指令進行查表操作。剛才我們已說到,DPTR是一個數據指針,這個數據指針我們可以給它賦值操作的。通過賦值操作。我們可以使MOVC   A,@A+DPTR這條指令的尋址范圍達到64K。這就是這兩條指令在實際應用當中要注意的問題。 變址尋址方式是MCS-51單片機所獨有的一種尋址方式。 位尋址 80C51單片機有位處理功能,可以對數據位進行操作,因此就有相應的位尋址方式。所謂位尋址,就是對內部RAM或可位尋址的特殊功能寄存器SFR內的某個位,直接加以置位為1或復位為0。 位尋址的范圍,也就是哪些部份可以進行位尋址: 1、我們在第十二課學習51單片機的存儲器結構時,我們已知道在單片機的內部數據存儲器RAM的低128單元中有一個區(qū)域叫位尋址區(qū)。它的單元地址是20H-2FH。共有16個單元,一個單元是8位,所以位尋址區(qū)共有128位。這128位都單獨有一個位地址,其位地址的名字就是00H-7FH。這里就有一個比較麻煩的問題需要大家理解清楚了。我們在前面的學習中00H、01H。。。。7FH等等,所表示的都是一個字節(jié)(或者叫單元地址),而在這里,這些數據都變成了位地址。我們在指令中,或者在程序中如何來區(qū)分它是一個單元地址還是一個位地址呢?這個問題,也就是我們現在正在研究的位尋址的一個重要問題。其實,區(qū)分這些數據是位地址還是單元地址,我們都有相應的指令形式的。這個問題我們在后面的指令系統學習中再加以論述。 2、對專用寄存器位尋址。這里要說明一下,不是所有的專用寄存器都可以位尋址的。具體哪些專用寄存器可以哪些專用寄存器不可以,請大家回頭去看看我們前面關于專用寄存器的相關文章。一般來說,地址單元可以被8整除的專用寄存器,通常都可以進行位尋址,當然并不是全部,大家在應用當中應引起注意。 專用寄存器的位尋址表示方法: 下面我們以程序狀態(tài)字PSW來進行說明 D7 D6 D5 D4 D3 D2 D1 D0 CY   AC  F0  RS1  RS0  OV    P  1、直接使用位地址表示:看上表,PSW的第五位地址是D5,所以可以表示為D5H   MOV  C,D5H 2、位名稱表示:表示該位的名稱,例如PSW的位5是F0,所以可以用F0表示   MOV  C,F0 3、單元(字節(jié))地址加位表示:D0H單元位5,表示為DOH.5    MOV  C,D0H.5 4、專用寄存器符號加位表示:例如PSW.5    MOV C,PSW.5 這四種方法實現的功能都是相同的,只是表述的方式不同而已。 例題:   1. 說明下列指令中源操作數采用的尋址方式。   MOV R5,R7 答案:寄存器尋址方式   MOV A,55H 直接尋址方式   MOV A,#55H 立即尋址方式   JMP @A+DPTR 變址尋址方式   MOV 30H,C 位尋址方式   MOV A,@R0 間接尋址方式   MOVX A,@R0 間接尋址方式 改錯題   請判斷下列的MCS-51單片機指令的書寫格式是否有錯,若有,請說明錯誤原因。   MOV R0,@R3 答案:間址寄存器不能使用R2~R7。   MOVC A,@R0+DPTR 變址尋址方式中的間址寄存器不可使用R0,只可使用A。   ADD R0,R1 運算指令中目的操作數必須為累加器A,不可為R0。   MUL AR0 乘法指令中的乘數應在B寄存器中,即乘法指令只可使用AB寄存器組合。

    標簽: 單片機指令 系統原理

    上傳時間: 2013-11-11

    上傳用戶:caozhizhi

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

    有兩種方式可以讓設備和應用程序之間聯系:1. 通過為設備創(chuàng)建的一個符號鏈;2. 通過輸出到一個接口WDM驅動程序建議使用輸出到一個接口而不推薦使用創(chuàng)建符號鏈的方法。這個接口保證PDO的安全,也保證安全地創(chuàng)建一個惟一的、獨立于語言的訪問設備的方法。一個應用程序使用Win32APIs來調用設備。在某個Win32 APIs和設備對象的分發(fā)函數之間存在一個映射關系。獲得對設備對象訪問的第一步就是打開一個設備對象的句柄。 用符號鏈打開一個設備的句柄為了打開一個設備,應用程序需要使用CreateFile。如果該設備有一個符號鏈出口,應用程序可以用下面這個例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3",  GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ,  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統本調用希望打開一個設備。這個設備必須有一個符號鏈,以便應用程序能夠打開它。有關細節(jié)查看有關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;} 在設備中執(zhí)行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使內核為設備創(chuàng)建一個新的文件對象。這使得多個句柄可以映射同一個文件對象。當這個文件對象的最后一個用戶級句柄被撤銷后,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鎖住在存儲器中,并且創(chuàng)建了一個存儲在IRP中的MDL域。一個設備可以通過調用Kirp::Mdl來存取MDL。當設備設置DO_BUFFERED_IO標志,設備對象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或寫操作獲得buff地址。當設備不設置DO_BUFFERED_IO標志也不設置DO_DIRECT_IO,內核設置IRP 的UserBuffer域來對應ReadFile或WriteFile中的buff參數。然而,存儲區(qū)并沒有被鎖住而且地址只對調用進程有效。驅動程序可以使用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  注意,這里放的是包含有執(zhí)行操作命令的字符串指針  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

  • 微電腦型盤面式控制電表(顯示幕0.56”)

    特點 精確度0.05%滿刻度 ±1位數 可量測 交直流電流/交直流電壓/電位計/傳送器/Pt-100/荷重元/電阻 等信號 顯示范圍0- ±19999可任意規(guī)劃 具有自動歸零與保持(開根號)功能 具有9段線性折補功能 4組警報功能 15BIT 類比輸出功能 數位RS-485界面

    標簽: 0.56 微電腦 控制 電表

    上傳時間: 2013-10-12

    上傳用戶:gonuiln

亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91久久国产综合久久蜜月精品| 国产综合香蕉五月婷在线| 亚洲网友自拍| 亚洲欧美日韩视频一区| 久久精品视频播放| 欧美精品一区二| 国产麻豆视频精品| 亚洲国产另类久久久精品极度| 中文一区二区| 久久一区二区视频| 国产精品你懂的| 欧美不卡高清| 亚洲毛片在线观看.| 欧美在线资源| 欧美视频在线观看 亚洲欧| 国产一区二区三区高清在线观看| …久久精品99久久香蕉国产| 亚洲在线电影| 欧美另类极品videosbest最新版本| 国产欧美一区二区三区国产幕精品| 亚洲日本欧美天堂| 午夜综合激情| 欧美日韩综合在线免费观看| 亚洲第一福利视频| 欧美在线亚洲一区| 国产精品九九久久久久久久| 亚洲激情图片小说视频| 久久精品一二三区| 国产日韩欧美一区二区| 亚洲午夜视频在线观看| 欧美日本精品在线| 亚洲精品国产视频| 欧美成人免费播放| 亚洲国产精品传媒在线观看 | 欧美—级a级欧美特级ar全黄| 国产一区二区福利| 亚洲专区在线| 国产精品乱码久久久久久| 99精品久久久| 欧美日本精品一区二区三区| 91久久中文字幕| 乱人伦精品视频在线观看| 国产一区在线视频| 欧美在线关看| 国产欧美精品一区 | 亚洲东热激情| 欧美专区在线播放| 国产午夜亚洲精品不卡| 午夜亚洲伦理| 国产午夜精品美女视频明星a级 | 国产精品久久久久aaaa九色| 亚洲精品中文字| 欧美激情性爽国产精品17p| 亚洲日本视频| 国产精品jizz在线观看美国 | 在线观看成人av电影| 欧美在线视频免费播放| 国产日韩综合| 久久国产高清| 激情欧美丁香| 欧美国产第一页| 99综合在线| 国产精品白丝jk黑袜喷水| 亚洲免费在线观看视频| 国产精品一区视频| 久久久国产精品一区二区中文| 好看的日韩视频| 欧美国产综合视频| 亚洲午夜精品久久久久久app| 国产精品入口福利| 久久久久久久久久久久久9999| 国内精品写真在线观看| 免播放器亚洲| 一个色综合导航| 国产精品欧美日韩一区二区| 久久国内精品视频| 91久久在线播放| 国产精品久久久久久久7电影| 欧美在线观看视频一区二区| 亚洲国产成人久久综合| 欧美视频免费在线观看| 欧美一级在线亚洲天堂| 亚洲高清电影| 国产精品久久久久久影院8一贰佰| 欧美一区影院| 99re视频这里只有精品| 国产日韩综合| 欧美欧美午夜aⅴ在线观看| 性欧美1819性猛交| 欧美精品一区二区视频| 国产精品www色诱视频| 久久精品官网| 一本色道久久88精品综合| 国产视频久久| 欧美四级剧情无删版影片| 久久精品亚洲精品| av不卡在线| 激情久久影院| 国产精品亚发布| 欧美大片免费久久精品三p | 久久精品在这里| 亚洲免费观看在线观看| 国产一区日韩欧美| 欧美午夜精品久久久久免费视| 久久尤物电影视频在线观看| 亚洲尤物影院| 夜夜嗨av色综合久久久综合网 | 国产精品日韩欧美综合| 蜜桃精品一区二区三区| 午夜欧美不卡精品aaaaa| 亚洲精品资源美女情侣酒店| 国产麻豆综合| 欧美视频在线观看 亚洲欧| 久久久久在线| 亚洲欧美精品| 国产精品99久久久久久www| 亚洲激情一区二区| 韩日精品在线| 国产一区二区| 国产亚洲激情| 国产欧美在线观看| 国产精品稀缺呦系列在线| 欧美日韩一区二区在线观看 | 久久久www免费人成黑人精品| 日韩午夜视频在线观看| 最新国产精品拍自在线播放| 在线观看日产精品| 激情校园亚洲| 激情视频一区二区| 伊人久久大香线蕉综合热线| 国产在线日韩| 激情伊人五月天久久综合| 国内一区二区在线视频观看| 国产日韩精品一区二区| 国产色婷婷国产综合在线理论片a| 国产精品久久久久久久免费软件 | 狠狠色综合日日| 国产婷婷色一区二区三区四区| 国产精品入口日韩视频大尺度| 欧美日韩一区在线观看| 欧美日韩一卡| 欧美无砖砖区免费| 欧美日韩一区二区三区在线| 欧美三日本三级少妇三2023| 欧美网站大全在线观看| 国产精品美腿一区在线看| 国产美女精品在线| 国语自产精品视频在线看抢先版结局 | 亚洲性感美女99在线| 亚洲视频一二区| 亚洲一卡二卡三卡四卡五卡| 在线亚洲欧美| 午夜精品一区二区三区在线播放| 亚洲欧美日韩国产中文| 欧美在线免费视频| 久久夜色精品国产欧美乱| 欧美aⅴ一区二区三区视频| 欧美激情精品久久久久久免费印度 | 老司机精品视频网站| 美女精品视频一区| 欧美日韩精品一本二本三本| 国产精品福利久久久| 国产欧美日韩亚州综合| 国产一区二区0| 亚洲国产成人在线播放| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 国产精品网站在线| 国内精品久久久久久久影视麻豆| 亚洲第一成人在线| 制服丝袜激情欧洲亚洲| 欧美一区二区视频在线观看| 裸体歌舞表演一区二区| 欧美视频在线播放| 狠狠狠色丁香婷婷综合久久五月| 在线欧美福利| 99视频一区| 欧美一级网站| 欧美破处大片在线视频| 国产亚洲福利一区| 日韩一级黄色av| 欧美在线免费观看视频| 欧美福利一区| 国产欧美一区视频| 亚洲日本va午夜在线影院| 亚洲一区二区三区三| 欧美a级片一区| 国产九九精品| 亚洲美女在线一区| 久久精品亚洲热| 欧美系列精品| 亚洲国产天堂久久国产91| 性欧美video另类hd性玩具| 欧美精品激情在线| 狠狠色香婷婷久久亚洲精品| 一区二区三区欧美日韩| 麻豆久久久9性大片| 国产免费一区二区三区香蕉精| 亚洲精品国产品国语在线app| 午夜在线a亚洲v天堂网2018| 欧美日韩成人|