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

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

主干網(wǎng)(wǎng)

  • CAN基本知識

    CAN,全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。最初,CAN被設(shè)計(jì)作為汽車環(huán)境中的微控制器通訊,在車載各電子控制裝置ECU之間交換信息,形成汽車電子控制網(wǎng)絡(luò)。比如:發(fā)動機(jī)管理系統(tǒng)、變速箱控制器、儀表裝備、電子主干系統(tǒng)中,均嵌入CAN控制裝置。一個(gè)由CAN 總線構(gòu)成的單一網(wǎng)絡(luò)中,理論上可以掛接無數(shù)個(gè)節(jié)點(diǎn)。實(shí)際應(yīng)用中,節(jié)點(diǎn)數(shù)目受網(wǎng)絡(luò)硬件的電氣特性所限制。例如,當(dāng)使用Philips P82C250作為CAN收發(fā)器時(shí),同一網(wǎng)絡(luò)中允許掛接110個(gè)節(jié)點(diǎn)。CAN 可提供高達(dá)1Mbit/s的數(shù)據(jù)傳輸速率,這使實(shí)時(shí)控制變得非常容易。另外,硬件的錯(cuò)誤檢定特性也增強(qiáng)了CAN的抗電磁干擾能力。

    標(biāo)簽: CAN 基本知識

    上傳時(shí)間: 2013-11-17

    上傳用戶:thuyenvinh

  • AT89C2051驅(qū)動步進(jìn)電機(jī)的電路和源碼

    AT89C2051驅(qū)動步進(jìn)電機(jī)的電路和源碼:AT89C2051驅(qū)動步進(jìn)電機(jī)的電路和源碼 程序:stepper.c stepper.hex/* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */#i nclude c:\mc5151io.h /* include i/o header file */ #i nclude c:\mc5151reg.hregister unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n;unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400/* flag1 mask byte 0x01 run cw() 0x02 run ccw() */main(){ flag1=0; serinit(9600); disable(); /* no need timer interrupt */ cw_n = n; /* initial step number for cw */ flag1 |=0x01; /* initial enable cw() */while(1){ { tick_wait(); /* wait for 10ms elapsed */energize(); /* round-robin execution the following tasks every 10ms */ cw(); ccw(); } }}cw(){ if((flag1&0x01)!=0) { cw_n--; /* decrement cw step number */ if (cw_n !=0) j++; /* if not zero increment index j */ else {flag1&=~0x01; /* disable cw() execution */ ccw_n = n; /* reload step number to ccw counter */ flag1 |=0x02; /* enable cww() execution */ } }

    標(biāo)簽: C2051 2051 89C AT

    上傳時(shí)間: 2013-11-21

    上傳用戶:boyaboy

  • 16-bit IC and SMBus I/O Port w

    The CAT9555 is a CMOS device that provides 16-bitparallel input/output port expansion for I²C and SMBuscompatible applications. These I/O expanders providea simple solution in applications where additional I/Osare needed: sensors, power switches, LEDs,pushbuttons, and fans.

    標(biāo)簽: SMBus Port bit and

    上傳時(shí)間: 2014-01-09

    上傳用戶:1101055045

  • PIC16F84單片機(jī)的內(nèi)部硬件資源

    PIC16F84 單片機(jī)的內(nèi)部硬件資源:學(xué)些PIC 單片機(jī),在Microchip 尚未推出其他Flash 系列的情況下,很多菜鳥都是從PIC16F84 開始的,我們把它整理了一份中文資料供大家學(xué)習(xí)。首先介紹PIC16F84 單片機(jī)的內(nèi)部結(jié)構(gòu),如圖1 所示的框圖。由圖1 看出,其基本組成可分為四個(gè)主要部分,即運(yùn)算器ALU 和工作寄存器W;程序存儲器;數(shù)據(jù)存儲器和輸入/輸出(I/O)口;堆棧存儲器和定時(shí)器等。現(xiàn)分別介紹如下。

    標(biāo)簽: PIC 16F F84 16

    上傳時(shí)間: 2013-12-26

    上傳用戶:zgu489

  • 抽樣z變換頻率抽樣理論

    抽樣z變換頻率抽樣理論:我們將先闡明:(1)z變換與DFT的關(guān)系(抽樣z變換),在此基礎(chǔ)上引出抽樣z變換的概念,并進(jìn)一步深入討論頻域抽樣不失真條件。(2)頻域抽樣理論(頻域抽樣不失真條件)(3)頻域內(nèi)插公式一、z變換與DFT關(guān)系 (1)引入連續(xù)傅里葉變換引出離散傅里葉變換定義式。離散傅里葉變換看作是序列的傅里葉變換在 頻 域 再 抽 樣 后 的 變 換 對.在Z變換與L變換中,又可了解到序列的傅里葉 變換就是單位圓上的Z 變 換.所以對序列的傅里葉變換進(jìn)行頻域抽樣時(shí), 自 然可以看作是對單位圓上的 Z變換進(jìn)行抽樣. (2)推導(dǎo)Z 變 換 的 定 義 式 (正 變 換) 重 寫 如 下:  取z=ejw 代 入 定 義 式,  得 到 單 位 圓 上 Z 變 換 為w是 單 位 圓 上 各 點(diǎn) 的 數(shù) 字 角 頻 率.再 進(jìn) 行 抽 樣-- N 等 分.這 樣w=2kπ/N, 即w值為0,2π/N,4π/N,6π/N…, 考慮到x(n)是N點(diǎn)有限長序列, 因而n只需0~N-1即可。將w=2kπ/N代入并改變上下限,  得 則這正是離散傅里葉變換 (DFT)正變換定義式.

    標(biāo)簽: 抽樣 變換 頻率

    上傳時(shí)間: 2014-12-28

    上傳用戶:zhaistone

  • 波形發(fā)生器,含原理圖+電路圖+源程序

    含原理圖+電路圖+程序的波形發(fā)生器:在工作中,我們常常會用到波形發(fā)生器,它是使用頻度很高的電子儀器。現(xiàn)在的波形發(fā)生器都采用單片機(jī)來構(gòu)成。單片機(jī)波形發(fā)生器是以單片機(jī)核心,配相應(yīng)的外圍電路和功能軟件,能實(shí)現(xiàn)各種波形發(fā)生的應(yīng)用系統(tǒng),它由硬件部分和軟件部分組成,硬件是系統(tǒng)的基礎(chǔ),軟件則是在硬件的基礎(chǔ)上,對其合理的調(diào)配和使用,從而完成波形發(fā)生的任務(wù)。 波形發(fā)生器的技術(shù)指標(biāo):(1) 波形類型:方型、正弦波、三角波、鋸齒波;(2) 幅值電壓:1V、2V、3V、4V、5V;(3) 頻率值:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;(4) 輸出極性:雙極性操作設(shè)計(jì)1、 機(jī)器通電后,系統(tǒng)進(jìn)行初始化,LED在面板上顯示6個(gè)0,表示系統(tǒng)處于初始狀態(tài),等待用戶輸入設(shè)置命令,此時(shí),無任何波形信號輸出。2、 用戶按下“F”、“V”、“W”,可以分別進(jìn)入頻率,幅值波形設(shè)置,使系統(tǒng)進(jìn)入設(shè)置狀態(tài),相應(yīng)的數(shù)碼管顯示“一”,此時(shí),按其它鍵,無效;3、 在進(jìn)入某一設(shè)置狀態(tài)后,輸入0~9等數(shù)字鍵,(數(shù)字鍵僅在設(shè)置狀態(tài)時(shí),有效)為欲輸出的波形設(shè)置相應(yīng)參數(shù),LED將參數(shù)顯示在面板上;4、 如果在設(shè)置中,要改變已設(shè)定的參數(shù),可按下“CL”鍵,清除所有已設(shè)定參數(shù),系統(tǒng)恢復(fù)初始狀態(tài),LED顯示6個(gè)0,等待重新輸入命令;5、 當(dāng)必要的參數(shù)設(shè)定完畢后,所有參數(shù)顯示于LED上,用戶按下“EN”鍵,系統(tǒng)會將各波形參數(shù)傳遞到波形產(chǎn)生模塊中,以便控制波形發(fā)生,實(shí)現(xiàn)不同頻率,不同電壓幅值,不同類型波形的輸出;6、 用戶按下“EN”鍵后,波形發(fā)生器開始輸出滿足參數(shù)的波形信號,面板上相應(yīng)類型的運(yùn)行指示燈閃爍,表示波形正在輸出,LED顯示波形類型編號,頻率值、電壓幅值等波形參數(shù);7、 波形發(fā)生器在輸出信號時(shí),按下任意一個(gè)鍵,就停止波形信號輸出,等待重新設(shè)置參數(shù),設(shè)置過程如上所述,如果不改變參數(shù),可按下“EN”鍵,繼續(xù)輸出原波形信號;8、 要停止波形發(fā)生器的使用,可按下復(fù)位按鈕,將系統(tǒng)復(fù)位,然后關(guān)閉電源。硬件組成部分通過綜合比較,決定選用獲得廣泛應(yīng)用,性能價(jià)格高的常用芯片來構(gòu)成硬件電路。單片機(jī)采用MCS-51系列的89C51(一塊),74LS244和74LS373(各一塊),反相驅(qū)動器 ULN2803A(一塊),運(yùn)算放大器 LM324(一塊)  波形發(fā)生器的硬件電路由單片機(jī)、鍵盤顯示器接口電路、波形轉(zhuǎn)換(D/ A)電路和電源線路等四部分構(gòu)成。1.單片機(jī)電路功能:形成掃描碼,鍵值識別,鍵功能處理,完成參數(shù)設(shè)置;形成顯示段碼,向LED顯示接口電路輸出;產(chǎn)生定時(shí)中斷;形成波形的數(shù)字編碼,并輸出到D/A接口電路;如電路原理圖所示: 89C51的P0口和P2口作為擴(kuò)展I/O口,與8255、0832、74LS373相連接,可尋址片外的寄存器。單片機(jī)尋址外設(shè),采用存儲器映像方式,外部接口芯片與內(nèi)部存儲器統(tǒng)一編址,89C51提供16根地址線P0(分時(shí)復(fù)用)和P2,P2口提供高8位地址線,P0口提供低8位地址線。P0口同時(shí)還要負(fù)責(zé)與8255,0832的數(shù)據(jù)傳遞。P2.7是8255的片選信號,P2.6是0832(1)的片選,P2.5是0832(2)的片選,低電平有效,P0.0、P0.1經(jīng)過74LS373鎖存后,送到8255的A1、A2作,片內(nèi)A口,B口,C口,控制口等寄存器的字選。89C51的P1口的低4位連接4只發(fā)光三極管,作為波形類型指示燈,表示正在輸出的波形是什么類型。單片機(jī)89C51內(nèi)部有兩個(gè)定時(shí)器/計(jì)數(shù)器,在波形發(fā)生器中使用T0作為中斷源。不同的頻率值對應(yīng)不同的定時(shí)初值,定時(shí)器的溢出信號作為中斷請求。控制定時(shí)器中斷的特殊功能寄存器設(shè)置如下:定時(shí)控制寄存器TCON=(00010000)工作方式選擇寄存器(TMOD)=(00000000)中斷允許控制寄存器(IE)=(10000010)2、鍵盤顯示器接口電路功能:驅(qū)動6位數(shù)碼管動態(tài)顯示;           提供響應(yīng)界面;           掃面鍵盤;           提供輸入按鍵。由并口芯片8255,鎖存器74LS273,74LS244,反向驅(qū)動器ULN2803A,6位共陰極數(shù)碼管(LED)和4×4行列式鍵盤組成。8255的C口作為鍵盤的I/O接口,C口的低4位輸出到掃描碼,高4位作為輸入行狀態(tài),按鍵的分布如圖所示。8255的A口作為LED段碼輸出口,與74LS244相連接,B口作為LED的位選信號輸出口,與ULN2803A相連接。8255內(nèi)部的4個(gè)寄存器地址分配如下:控制口:7FFFH , A口:7FFFCH , B口:7FFDH ,  C口:7FFEH    3、D/A電路功能:將波形樣值的數(shù)字編碼轉(zhuǎn)換成模擬值;完成單極性向雙極性的波形輸出;構(gòu)成由兩片0832和一塊LM324運(yùn)放組成。0832(1)是參考電壓提供者,單片機(jī)向0832(1)內(nèi)的鎖存器送數(shù)字編碼,不同的編碼會產(chǎn)生不同的輸出值,在本發(fā)生器中,可輸出1V、2V、3V、4V、5V等五個(gè)模擬值,這些值作為0832(2)的參考電壓,使0832(2)輸出波形信號時(shí),其幅度是可調(diào)的。0832(2)用于產(chǎn)生各種波形信號,單片機(jī)在波形產(chǎn)生程序的控制下,生成波形樣值編碼,并送到0832(2)中的鎖存器,經(jīng)過D/A轉(zhuǎn)換,得到波形的模擬樣值點(diǎn),假如N個(gè)點(diǎn)就構(gòu)成波形的一個(gè)周期,那么0832(2)輸出N個(gè)樣值點(diǎn)后,樣值點(diǎn)形成運(yùn)動軌跡,就是波形信號的一個(gè)周期。重復(fù)輸出N個(gè)點(diǎn)后,由此成第二個(gè)周期,第三個(gè)周期……。這樣0832(2)就能連續(xù)的輸出周期變化的波形信號。運(yùn)放A1是直流放大器,運(yùn)放A2是單極性電壓放大器,運(yùn)放A3是雙極性驅(qū)動放大器,使波形信號能帶得起負(fù)載。地址分配:0832(1):DFFFH ,0832(2):BFFFH4、電源電路:功能:為波形發(fā)生器提供直流能量;構(gòu)成由變壓器、整流硅堆,穩(wěn)壓塊7805組成。220V的交流電,經(jīng)過開關(guān),保險(xiǎn)管(1.5A/250V),到變壓器降壓,由220V降為10V,通過硅堆將交流電變成直流電,對于諧波,用4700μF的電解電容給予濾除。為保證直流電壓穩(wěn)定,使用7805進(jìn)行穩(wěn)壓。最后,+5V電源配送到各用電負(fù)載。

    標(biāo)簽: 波形發(fā)生器 原理圖 電路圖 源程序

    上傳時(shí)間: 2013-11-08

    上傳用戶:685

  • USB Demonstration for DK3200 w

    The μPSD32xx family, from ST, consists of Flash programmable system devices with a 8032 MicrocontrollerCore. Of these, the μPSD3234A and μPSD3254A are notable for having a complete implementationof the USB hardware directly on the chip, complying with the Universal Serial Bus Specification, Revision1.1.This application note describes a demonstration program that has been written for the DK3200 hardwaredemonstration kit (incorporating a μPSD3234A device). It gives the user an idea of how simple it is to workwith the device, using the HID class as a ready-made device driver for the USB connection.IN-APPLICATION-PROGRAMMING (IAP) AND IN-SYSTEM-PROGRAMMING (ISP)Since the μPSD contains two independent Flash memory arrays, the Micro Controller Unit (MCU) can executecode from one memory while erasing and programming the other. Product firmware updates in thefield can be reliably performed over any communication channel (such as CAN, Ethernet, UART, J1850)using this unique architecture. For In-Application-Programming (IAP), all code is updated through theMCU. The main advantage for the user is that the firmware can be updated remotely. The target applicationruns and takes care on its own program code and data memory.IAP is not the only method to program the firmware in μPSD devices. They can also be programmed usingIn-System-Programming (ISP). A IEEE1149.1-compliant JTAG interface is included on the μPSD. Withthis, the entire device can be rapidly programmed while soldered to the circuit board (Main Flash memory,Secondary Boot Flash memory, the PLD, and all configuration areas). This requires no MCU participation.The MCU is completely bypassed. So, the μPSD can be programmed or reprogrammed any time, anywhere, even when completely uncommitted.Both methods take place with the device in its normal hardware environment, soldered to a printed circuitboard. The IAP method cannot be used without previous use of ISP, because IAP utilizes a small amountof resident code to receive the service commands, and to perform the desired operations.

    標(biāo)簽: Demonstration 3200 USB for

    上傳時(shí)間: 2014-02-27

    上傳用戶:zhangzhenyu

  • 驅(qū)動程序與應(yīng)用程序的接口

    有兩種方式可以讓設(shè)備和應(yīng)用程序之間聯(lián)系:1. 通過為設(shè)備創(chuàng)建的一個(gè)符號鏈;2. 通過輸出到一個(gè)接口WDM驅(qū)動程序建議使用輸出到一個(gè)接口而不推薦使用創(chuàng)建符號鏈的方法。這個(gè)接口保證PDO的安全,也保證安全地創(chuàng)建一個(gè)惟一的、獨(dú)立于語言的訪問設(shè)備的方法。一個(gè)應(yīng)用程序使用Win32APIs來調(diào)用設(shè)備。在某個(gè)Win32 APIs和設(shè)備對象的分發(fā)函數(shù)之間存在一個(gè)映射關(guān)系。獲得對設(shè)備對象訪問的第一步就是打開一個(gè)設(shè)備對象的句柄。 用符號鏈打開一個(gè)設(shè)備的句柄為了打開一個(gè)設(shè)備,應(yīng)用程序需要使用CreateFile。如果該設(shè)備有一個(gè)符號鏈出口,應(yīng)用程序可以用下面這個(gè)例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3",  GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ,  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統(tǒng)本調(diào)用希望打開一個(gè)設(shè)備。這個(gè)設(shè)備必須有一個(gè)符號鏈,以便應(yīng)用程序能夠打開它。有關(guān)細(xì)節(jié)查看有關(guān)Kdevice和CreateLink的內(nèi)容。在上述調(diào)用中第一個(gè)參數(shù)中前綴后的部分就是這個(gè)符號鏈的名字。注意:CreatFile中的第一個(gè)參數(shù)不是Windows 98/2000中驅(qū)動程序(.sys文件)的路徑。是到設(shè)備對象的符號鏈。如果使用DriverWizard產(chǎn)生驅(qū)動程序,它通常使用類KunitizedName來構(gòu)成設(shè)備的符號鏈。這意味著符號鏈名有一個(gè)附加的數(shù)字,通常是0。例如:如果鏈接名稱的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應(yīng)用程序需要被覆蓋的I/O,第六個(gè)參數(shù)(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個(gè)輸出接口打開句柄用這種方式打開一個(gè)句柄會稍微麻煩一些。DriverWorks庫提供兩個(gè)助手類來使獲得對該接口的訪問容易一些,這兩個(gè)類是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類封裝了一個(gè)設(shè)備信息集,該信息集包含了特殊類中的所有設(shè)備接口信息。應(yīng)用程序能有用CdeviceInterfaceClass類的一個(gè)實(shí)例來獲得一個(gè)或更多的CdeviceInterface類的實(shí)例。CdeviceInterface類是一個(gè)單一設(shè)備接口的抽象。它的成員函數(shù)DevicePath()返回一個(gè)路徑名的指針,該指針可以在CreateFile中使用來打開設(shè)備。下面用一個(gè)小例子來顯示這些類最基本的使用方法: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;} 在設(shè)備中執(zhí)行I/O操作一旦應(yīng)用程序獲得一個(gè)有效的設(shè)備句柄,它就能使用Win32 APIs來產(chǎn)生到設(shè)備對象的IRPs。下面的表顯示了這種對應(yīng)關(guān)系。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 需要解釋一下設(shè)備類成員的Close和CleanUp:CreateFile使內(nèi)核為設(shè)備創(chuàng)建一個(gè)新的文件對象。這使得多個(gè)句柄可以映射同一個(gè)文件對象。當(dāng)這個(gè)文件對象的最后一個(gè)用戶級句柄被撤銷后,I/O管理器調(diào)用CleanUp。當(dāng)沒有任何用戶級和核心級的對文件對象的訪問的時(shí)候,I/O管理器調(diào)用Close。如果被打開的設(shè)備不支持指定的功能,則調(diào)用相應(yīng)的Win32將引起錯(cuò)誤(無效功能)。以前為Windows95編寫的VxD的應(yīng)用程序代碼中可能會在打開設(shè)備的時(shí)候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個(gè)屬性,因?yàn)樗鼘?dǎo)致沒有特權(quán)的用戶企圖打開這個(gè)設(shè)備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數(shù)轉(zhuǎn)換成IRP域的方法依賴于設(shè)備對象的屬性。當(dāng)設(shè)備設(shè)置DO_DIRECT_IO標(biāo)志,I/O管理器將buff鎖住在存儲器中,并且創(chuàng)建了一個(gè)存儲在IRP中的MDL域。一個(gè)設(shè)備可以通過調(diào)用Kirp::Mdl來存取MDL。當(dāng)設(shè)備設(shè)置DO_BUFFERED_IO標(biāo)志,設(shè)備對象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或?qū)懖僮鳙@得buff地址。當(dāng)設(shè)備不設(shè)置DO_BUFFERED_IO標(biāo)志也不設(shè)置DO_DIRECT_IO,內(nèi)核設(shè)置IRP 的UserBuffer域來對應(yīng)ReadFile或WriteFile中的buff參數(shù)。然而,存儲區(qū)并沒有被鎖住而且地址只對調(diào)用進(jìn)程有效。驅(qū)動程序可以使用KIrp::UserBuffer來存取IRP域。對于DeviceIoControl調(diào)用,buffer參數(shù)的轉(zhuǎn)換依賴于特殊的I/O控制代碼,它不在設(shè)備對象的特性中。宏CTL_CODE(在winioctl.h中定義)用來構(gòu)造控制代碼。這個(gè)宏的其中一個(gè)參數(shù)指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對應(yīng)的能獲得輸入緩沖與輸出緩沖的KIrp中的成員函數(shù):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,系統(tǒng)分配一個(gè)單一的緩沖來作為輸入與輸出。驅(qū)動程序必須在向輸出緩沖放數(shù)據(jù)之前拷貝輸入數(shù)據(jù)。驅(qū)動程序通過調(diào)用KIrp::IoctlBuffer獲得緩沖地址。在完成時(shí),I/O管理器從系統(tǒng)緩沖拷貝數(shù)據(jù)到提供給Ring 3級調(diào)用者使用的緩沖中。驅(qū)動程序必須在結(jié)束前存儲拷貝到IRP的Information成員中的數(shù)據(jù)個(gè)數(shù)。如果控制代碼不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,則DeviceIoControl的參數(shù)呈現(xiàn)不同的含義。參數(shù)InputBuffer被拷貝到一個(gè)系統(tǒng)緩沖,這個(gè)緩沖驅(qū)動程序可以通過調(diào)用KIrp::IoctlBuffer。參數(shù)OutputBuffer被映射到KMemory對象,驅(qū)動程序?qū)@個(gè)對象的訪問通過調(diào)用KIrp::Mdl來實(shí)現(xiàn)。對于METHOD_OUT_DIRECT,調(diào)用者必須有對緩沖的寫訪問權(quán)限。注意,對METHOD_NEITHER,內(nèi)核只提供虛擬地址;它不會做映射來配置緩沖。虛擬地址只對調(diào)用進(jìn)程有效。這里是一個(gè)用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來定義一個(gè)IOCTL代碼:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)現(xiàn)在使用一個(gè)DeviceIoControl調(diào)用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING,  NULL, // no input  注意,這里放的是包含有執(zhí)行操作命令的字符串指針  0, FirmwareRev,      //這里是output串指針,存放從驅(qū)動程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize,  NULL // not overlapped I/O );如果輸出緩沖足夠大,設(shè)備拷貝串到里面并將拷貝的資結(jié)束設(shè)置到FirmwareRevSize中。在驅(qū)動程序中,代碼看起來如下所示: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 . . .   } }

    標(biāo)簽: 驅(qū)動程序 應(yīng)用程序 接口

    上傳時(shí)間: 2013-10-17

    上傳用戶:gai928943

  • LCD為LCM161(HD44780驅(qū)動器)字符顯示器驅(qū)動程

    LCD為LCM161(HD44780驅(qū)動器)字符顯示器驅(qū)動程序       ;說明:本LCD為LCM161(HD44780驅(qū)動器)字符顯示器.      ;接線:LCD D0-D8(PIN7-14) 對映用戶板P0.0--P0.7      ;      LCD VSS(PIN1) 接 GND,VDD(PIN2)接+5V,LCD驅(qū)動電源V0(PIN3)接可調(diào)電阻ADJ,調(diào)節(jié)亮度      ;      LCD寄存器選擇RS(PIN4)接P2.0,讀寫選擇R/W(PIN5)接P2.1,使能端EN(PIN6)接P2.2(高電平有效)      ;本程序采用I/O口模仿總線時(shí)序,故無需做任何硬件擴(kuò)展.屏幕顯示:"I'm SuperICES! ",

    標(biāo)簽: 44780 LCD 161 LCM

    上傳時(shí)間: 2013-10-17

    上傳用戶:ssz1990

  • 基于多點(diǎn)網(wǎng)絡(luò)的水廠自動監(jiān)控系統(tǒng)設(shè)計(jì)

    基于多點(diǎn)網(wǎng)絡(luò)的水廠自動監(jiān)控系統(tǒng)設(shè)計(jì)Design of MPI Based Automatic Monitoring and Control System in Water Works劉 美 俊(湖南工程學(xué)院,湘潭411101)摘要針對水廠工作水泵多、現(xiàn)場離控制站距離遠(yuǎn)的特點(diǎn),提出了一種基于MPI多點(diǎn)網(wǎng)絡(luò)的自動監(jiān)控系統(tǒng)的設(shè)計(jì)方法,分析了系統(tǒng)的工作原理,介紹了系統(tǒng)中數(shù)據(jù)的采集與處理、主站與從站的通信原理以及系統(tǒng)軟件的設(shè)計(jì)。由于這種系統(tǒng)的主、從站PLC之間采用MPI網(wǎng)絡(luò)通信,具有運(yùn)行可靠、性能價(jià)格比高的特點(diǎn),所以適用于中小規(guī)模水廠的分布式監(jiān)控場合。關(guān)鍵詞多點(diǎn)網(wǎng)絡(luò)主站從站監(jiān)控系統(tǒng)Abstract Ina ccordancew ithth efe atuersof w aterw orks,i. e. ,manyp umpsin o perationa ndth ep umps, farfor mt hec ontrolst ation,th em ethodo fdesigninga na utomati(〕monitoringa ndc ontorlsy stemb asedo nM PIis p resented.Th eo perationalpr incipleo fth esy stemi san alyzed,th ed atac olection,data processing; communication between master station and slave station as wel as design and system software are discussed. Because MPI network communicationis used among master station, slave stations and PLC, the system is reliable and high cost-efective. It is, suitable for smal and mediumsized water works for distrbuted monitoring and control.Keywords MPI Masterst ation Slaves tation Monitoringa ndc ontorlsy stem 自來 水 廠 的自動控制系統(tǒng)一般分為兩大部分,一對組態(tài)硬件要求較高,投資較大。相對而言,MPI網(wǎng)是水源地深水泵的工作控制,一是水廠區(qū)變頻恒壓供絡(luò)速度可達(dá)187.5 M bps,通過一級中繼器傳輸距離可水控制,兩部分的實(shí)際距離通常都比較遠(yuǎn)。某廠水源達(dá)Ikm 。根據(jù)水廠的具體情況,確定以MPI方式組地有3臺深井泵給水廠區(qū)的蓄水池供水。水廠區(qū)的成網(wǎng)絡(luò),主站PLC為S7-300系列的CPU3121FM,從任務(wù)是對水池的水進(jìn)行消毒處理后,通過加壓泵向管站為S7-200系列的CPU222。這樣既滿足了系統(tǒng)要路恒壓供水。選用Siemens公司的S7系列可編程控求,又相對于Profibus網(wǎng)絡(luò)節(jié)省了三分之一的成本,制器(PLC)和上位機(jī)組成實(shí)時(shí)數(shù)據(jù)采集和監(jiān)控系統(tǒng), 這種分布式監(jiān)控系統(tǒng)具有較高的性能價(jià)格比。系統(tǒng)對深水泵進(jìn)行遠(yuǎn)程控制,對供水泵采用變頻器進(jìn)行恒中PLC的物理層采用RS - 485接口,網(wǎng)絡(luò)延伸選用壓控制以保證整個(gè)水廠的電機(jī)設(shè)備安全、可靠地運(yùn)帶防雷保護(hù)的中繼器,使系統(tǒng)的安全運(yùn)行得到了保行。證。MPI網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖1所示。1 多點(diǎn)網(wǎng)絡(luò)(NWI)監(jiān)控系統(tǒng)的組成Sie me ns 公司S7系列PLC通常有MP」多點(diǎn)網(wǎng)絡(luò)與Profibus現(xiàn)場總線網(wǎng)絡(luò)兩種組網(wǎng)方式。Profibus現(xiàn)場總線的應(yīng)用目前較為普遍,通用性較好,它由Profibus一DP, Profibus一FMS, Profibus一PA組成。Profibus - DP型用于分散外設(shè)間的數(shù)據(jù)傳輸,傳輸速率為9.6kbps一12Mbps,主要用于現(xiàn)場控制器與分散1/0之間的通信,可滿足交直流調(diào)速系統(tǒng)快速響應(yīng)的時(shí)間要求,特別適合于加工自動化領(lǐng)域的應(yīng)用;Profibus - FMS主要解決車間級通信問題,完成中等傳輸速度的循環(huán)或非循環(huán)數(shù)據(jù)交換任務(wù),適用于紡織、樓宇自動化、可編程控制器、低壓開關(guān)等;Profibus - PA型采用了OSI模型的物理層和數(shù)據(jù)鏈路層,適用于過程自動化的總線類型。

    標(biāo)簽: 多點(diǎn) 網(wǎng)絡(luò) 系統(tǒng)設(shè)計(jì) 自動監(jiān)控

    上傳時(shí)間: 2013-10-09

    上傳用戶:fac1003

亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲自拍都市欧美小说| 欧美日韩亚洲91| 久久精品综合网| 亚洲欧美在线网| 免费中文字幕日韩欧美| 久久久久99| 国产一区二区三区四区hd| 亚洲日本黄色| 久久久噜噜噜久久人人看| 国产精品视频你懂的| 欧美中文在线观看| 欧美久久久久久蜜桃| 亚洲久久一区二区| 欧美国产一区视频在线观看| 亚洲国产一区二区在线| 久久免费少妇高潮久久精品99| 国产无一区二区| 久久综合给合| 亚洲无毛电影| 亚洲精品国产系列| 久久精品天堂| 亚洲成色精品| 国产精品视频久久| 久久久久99精品国产片| 伊人精品成人久久综合软件| 欧美日韩亚洲综合在线| 亚洲欧美综合v| 最新国产精品拍自在线播放| 国产精品日韩欧美一区二区三区| 免费观看不卡av| 欧美一区在线直播| 99热在这里有精品免费| 亚洲国产高清在线| 在线精品国产欧美| 伊人久久综合| 国产亚洲女人久久久久毛片| 男女视频一区二区| 久久久免费观看视频| 午夜视频精品| 亚洲网友自拍| 亚洲精品字幕| 在线欧美亚洲| 亚洲成人在线免费| 国产揄拍国内精品对白| 国产精品久久二区二区| 欧美日韩精品一区二区天天拍小说| 久久伊人免费视频| 老巨人导航500精品| 久久久久国产精品午夜一区| 久久精品国产第一区二区三区| 久久视频一区| 欧美一区二区精美| 久久av老司机精品网站导航 | 在线观看国产日韩| 国产精品xvideos88| 亚洲精品久久久蜜桃| 久久综合网络一区二区| 国内精品久久久久影院优| 欧美在线观看视频| 国产日韩在线看片| 国产日韩精品综合网站| 久久一区二区视频| 国产精品伦子伦免费视频| 在线观看中文字幕不卡| 亚洲欧美日韩成人高清在线一区| 国产精品美女久久久久久2018| 亚洲国产精品999| 欧美三级乱人伦电影| 中文欧美日韩| 国产九色精品成人porny| 欧美日韩成人在线视频| 久久久久国产精品一区二区| 亚洲精品黄色| 欧美性淫爽ww久久久久无| 亚洲欧美视频在线观看视频| 99视频超级精品| 国内久久婷婷综合| 欧美特黄一级| 国产自产精品| 国产精品欧美风情| 国产在线高清精品| 亚洲欧美日韩专区| 国产麻豆综合| 久久综合五月天婷婷伊人| 亚洲第一黄色网| 欧美激情第二页| 亚洲午夜一二三区视频| 国产精品久久久亚洲一区| 西瓜成人精品人成网站| 国产一区二区精品丝袜| 久久天天综合| 亚洲午夜免费视频| 在线播放日韩欧美| 欧美四级在线观看| 久久精品99国产精品| 亚洲精品日本| 国产日韩免费| 欧美日韩系列| 国产色综合网| av成人免费观看| 亚洲欧美日韩国产成人| 久久精品国产亚洲aⅴ| 欧美亚洲自偷自偷| 亚洲成人在线免费| 欧美日韩精品免费观看视频完整 | 亚洲精品1234| 国产精品国产亚洲精品看不卡15| 久久精品在线免费观看| 一区二区三区欧美亚洲| 狠狠久久亚洲欧美专区| 欧美肉体xxxx裸体137大胆| 久久免费精品视频| 亚洲与欧洲av电影| 91久久在线视频| 韩国一区电影| 国产精品美女久久久久av超清| 欧美成人在线网站| 久久国产免费看| 亚洲欧美日韩国产成人| 亚洲精品视频免费| 亚洲高清av| 激情成人av| 亚洲在线视频| 国产日韩精品入口| 国产精品成人免费精品自在线观看| 米奇777在线欧美播放| 久久丁香综合五月国产三级网站| 99在线精品观看| 亚洲精品美女在线| 亚洲高清av在线| 亚洲高清在线观看一区| 好吊妞这里只有精品| 国产美女精品视频| 国产精品免费aⅴ片在线观看| 欧美日本在线看| 欧美激情一区二区三区成人| 蜜桃av综合| 欧美成年人在线观看| 免费美女久久99| 欧美a级理论片| 免费亚洲电影在线| 免费成人黄色片| 欧美成人精品福利| 欧美成人小视频| 欧美高清在线| 欧美日产一区二区三区在线观看| 浪潮色综合久久天堂| 久久在线观看视频| 欧美成人四级电影| 欧美日韩不卡在线| 欧美涩涩视频| 国产区精品在线观看| 欧美日韩国产免费观看| 蜜桃av噜噜一区| 亚洲综合不卡| 亚洲乱码精品一二三四区日韩在线 | 国产精品亚洲综合色区韩国| 欧美国产三级| 欧美成人免费观看| 久久久夜夜夜| 老牛影视一区二区三区| 欧美激情一二三区| 欧美日韩国产在线| 国产精品久久久久77777| 国产精品素人视频| 国产伪娘ts一区| 国产精品亚洲片夜色在线| 欧美日韩精品欧美日韩精品| 欧美一区三区二区在线观看| 91久久精品国产91性色tv| 日韩视频在线一区| 伊人久久大香线蕉综合热线| 国产麻豆日韩欧美久久| 欧美成人国产一区二区| 欧美—级高清免费播放| 一区二区三区在线免费视频| 一区二区三区 在线观看视频| 日韩亚洲精品电影| 亚洲与欧洲av电影| 久久国产一区二区三区| 欧美91视频| 国产精品视频大全| 亚洲国产精品电影在线观看| 中文一区在线| 欧美影院午夜播放| 欧美久久成人| 欧美性大战久久久久| 国产一区二区三区高清播放| 日韩视频中午一区| 久久精品欧美日韩| 欧美视频精品在线| 亚洲另类视频| 欧美三级视频在线播放| 国产一区欧美日韩| 亚洲免费成人| 久久国产一二区| 欧美视频二区| 亚洲精品欧美激情| 老司机午夜免费精品视频| 国产精品自拍小视频|