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

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

mm7<b>API</b>

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

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

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

    上傳時間: 2013-10-17

    上傳用戶:gai928943

  • 單片機應(yīng)用技術(shù)選編9

    單片機應(yīng)用技術(shù)選編(9) 目錄 第一章 專題論述1.1 集成電路進入片上系統(tǒng)時代(2)1.2 系統(tǒng)集成芯片綜述(10)1.3 Java嵌入技術(shù)綜述(18)1.4 Java的線程機制(23)1.5 嵌入式系統(tǒng)中的JTAG接口編程技術(shù)(29)1.6 EPAC器件技術(shù)概述及應(yīng)用(37)1.7 VHDL設(shè)計中電路簡化問題的探討(42)1.8 8031芯片主要模塊的VHDL描述與仿真(48)1.9 ISP技術(shù)在數(shù)字系統(tǒng)設(shè)計中的應(yīng)用(59)1.10 單片機單總線技術(shù)(64)1.11 智能信息載體iButton及其應(yīng)用(70)1.12 基于單片機的高新技術(shù)產(chǎn)品加密方法探討(76)1.13 新一代私鑰加密標準AES進展與評述(80)1.14 基于單片機的實時3DES加密算法的實現(xiàn)(86)1.15 ATA接口技術(shù)(90)1.16 基于IDE硬盤的高速數(shù)據(jù)存儲器研究(98)1.17 模擬比較器的應(yīng)用(102) 第二章 綜合應(yīng)用技術(shù)2.1 閃速存儲器硬件接口和程序設(shè)計中的關(guān)鍵技術(shù)(126)2.2 51單片機節(jié)電模式的應(yīng)用(131)2.3 分布式實時應(yīng)用的兩個重要問題(137)2.4 分布式運算單元的原理及其實現(xiàn)方法(141)2.5 用PLD器件設(shè)計邏輯電路時的競爭冒險現(xiàn)象(147)2.6 IRIG?B格式時間碼解碼接口卡電路設(shè)計(150)2.7 一種基于單片機時頻信號處理的實用方法(155)2.8 射頻接收系統(tǒng)晶體振蕩電路的設(shè)計與分析(161)2.9 揭開ΣΔ ADC的神秘面紗(166)2.10 過采樣高階A/D轉(zhuǎn)換器的硬件實現(xiàn)(172)2.11 A/D轉(zhuǎn)換的計算與編程(176)2.12 一種提高單片機內(nèi)嵌式A/D分辨力的方法(179)2.13 單片微型計算機多字節(jié)浮點快速相對移位法開平方運算的實現(xiàn)(182)2.14 單片微型計算機多字節(jié)浮點除法快速掃描運算的實現(xiàn)(186)2.15 DSP芯片與觸摸屏的接口控制(188)第三章 操作系統(tǒng)與軟件技術(shù)3.1 嵌入式系統(tǒng)中的實時操作系統(tǒng)(192)3.2 嵌入式系統(tǒng)的開發(fā)利器——Windows CE操作系統(tǒng)(197)3.3 介紹一種實時操作系統(tǒng)DSP/BIOS(203)3.4 實時操作系統(tǒng)用于嵌入式應(yīng)用系統(tǒng)的設(shè)計(212)3.5 實時Linux操作系統(tǒng)初探(217)3.6 Linux網(wǎng)絡(luò)設(shè)備驅(qū)動程序分析與設(shè)計(223)3.7 在51系列單片機上實現(xiàn)非搶先式消息驅(qū)動機制的RTOS(229)3.8 用結(jié)構(gòu)化程序設(shè)計思想指導(dǎo)匯編語言開發(fā)(236)3.9 單片機高級語言C51與匯編語言ASM51的通用接口(240)3.10 ASM51無參數(shù)化調(diào)用C51函數(shù)的實現(xiàn)(245)3.11 TMS320C3X的匯編語言和C語言及混合編程技術(shù)(249)3.12 TMS320C6000嵌入式系統(tǒng)優(yōu)化編程的研究(254)3.13 TMS320C54X軟件模擬實現(xiàn)UART技術(shù)(260)3.14 W78E516及其在系統(tǒng)編程的實現(xiàn)(265)3.15 鍵盤鍵入信號軟件處理方法探討(272)3.16 單片機系統(tǒng)中數(shù)字濾波的算法(276)第四章 網(wǎng)絡(luò)、通信與數(shù)據(jù)傳送 4.1 實時單片機通信網(wǎng)絡(luò)中的內(nèi)存管理(284)4.2 CRC16編碼在單片機數(shù)據(jù)傳輸系統(tǒng)中的實現(xiàn)(288)4.3 在VC++中用ActiveX控件實現(xiàn)與單片機的串行通信(293)4.4 利用Windows API函數(shù)構(gòu)造C++類實現(xiàn)串行通信(298)4.5 用Win32 API實現(xiàn)PC機與多單片機的串行通信(304)4.6 GPS接收機與PC機串行通信技術(shù)的開發(fā)與應(yīng)用(311)4.7 TCP/IP協(xié)議問題透析(316)4.8 單片機的MODEM通信(328)4.9 無線串行接口電路設(shè)計(335)4.10 通用無線數(shù)據(jù)傳輸電路設(shè)計(340)4.11 FX909在無線高速MODEM中的應(yīng)用(343)4.12 藍牙——短距離無線連接新技術(shù)(348)4.13 藍牙技術(shù)——一種短距離的無線連接技術(shù)(351)4.14 藍牙芯片及其應(yīng)用(357)4.15 BlueCoreTM01藍牙芯片的特性與應(yīng)用(361)4.16 內(nèi)嵌微控制器的無線數(shù)據(jù)發(fā)射器的特性及應(yīng)用(365)第五章 新器件及其應(yīng)用技術(shù)5.1 一種全新結(jié)構(gòu)的微控制器——Triscend E5(372)5.2 PSD8XXF的在系統(tǒng)編程技術(shù)(376)5.3 PSD813F1及其接口編程技術(shù)(382)5.4 一種優(yōu)越的可編程邏輯器件——ISP器件(387)5.5 ISPPLD原理及其設(shè)計應(yīng)用(393)5.6 ispPAC10在系統(tǒng)可編程模擬電路及其應(yīng)用(397)5.7 在系統(tǒng)可編程器件ispPAC80及其應(yīng)用(404)5.8 采用ispLSI1016設(shè)計高精度光電碼盤計數(shù)器(408)5.9 基于ADμC812的一種儀表開發(fā)平臺(413)5.10 基于P87LPC764的ΣΔ ADC應(yīng)用設(shè)計方法(418)5.11 MP3解碼芯片組及其應(yīng)用(431)5.12 射頻IC卡E5550原理及應(yīng)用(434)5.13 HD7279A鍵盤顯示驅(qū)動芯片及應(yīng)用(439)5.14 基于SPI接口的ISD4104系列語音錄放芯片及其應(yīng)用(444)5.15 解決DS1820通信誤碼問題的方法(450)5.16 數(shù)字電位器在測量放大器中的應(yīng)用(455)第六章 總線及其應(yīng)用技術(shù)6.1 按平臺模式設(shè)計的虛擬I2C總線軟件包VIIC(462)6.2 虛擬I2C總線軟件包的開發(fā)及其應(yīng)用(470)6.3 RS485總線的理論與實踐(479)6.4 RS232至RS485/RS422接口的智能轉(zhuǎn)換器(484)6.5 實用隔離型RS485通信接口的設(shè)計(489)6.6 幾種RS485接口收發(fā)方向轉(zhuǎn)換方法(495)6.7 LonWorks總線技術(shù)及發(fā)展(498)6.8 LonWorks網(wǎng)絡(luò)監(jiān)控的簡單實現(xiàn)(505)6.9 現(xiàn)場總線CANbus與RS485之間透明轉(zhuǎn)換的實現(xiàn)(509)6.10 居室自動化系統(tǒng)中的X10和CE總線(513)6.11 通用串行總線USB(519)6.12 USB2.0技術(shù)概述(524)6.13 帶通用串行總線USB接口的單片機EZUSB(530)6.14 嵌入式處理器中的慢總線技術(shù)應(yīng)用(536)6.15 SPI串行總線在單片機8031應(yīng)用系統(tǒng)中的設(shè)計與實現(xiàn)(540)第七章 可靠性及安全性技術(shù)7.1 軟件可靠性及其評估(546)7.2 網(wǎng)絡(luò)通信中的基本安全技術(shù)(554)7.3 數(shù)字語音混沌保密通信系統(tǒng)及硬件實現(xiàn)(560)7.4 偽隨機序列及PLD實現(xiàn)在程序和系統(tǒng)加密中的應(yīng)用(565)7.5 增強單片機系統(tǒng)可靠性的若干措施(569)7.6 FPGA中的空間輻射效應(yīng)及加固技術(shù)(573)7.7 一種雙機備份系統(tǒng)的軟實現(xiàn)(577)7.8 計算機系統(tǒng)容錯技術(shù)的應(yīng)用(581)7.9 容錯系統(tǒng)中的自校驗技術(shù)及實現(xiàn)方法(585)7.10 基于MAX110的容錯數(shù)據(jù)采集系統(tǒng)的設(shè)計(589)7.11 冗余式時鐘源電路(593)7.12 微機控制系統(tǒng)的抗干擾技術(shù)應(yīng)用(599)7.13 單片開關(guān)電源瞬態(tài)干擾及音頻噪聲抑制技術(shù)(604)7.14 單片機應(yīng)用系統(tǒng)程序運行出軌問題研究(608)7.15 分布式系統(tǒng)故障卷回恢復(fù)技術(shù)研究與實踐(613)第八章 典型應(yīng)用實例8.1 基于單片機系統(tǒng)采用DMA塊傳輸方式實現(xiàn)高速數(shù)據(jù)采集(620)8.2 GPS數(shù)據(jù)采集卡的設(shè)計(624)8.3 一種新型非接觸式IC卡識別系統(tǒng)研究(629)8.4 自適應(yīng)調(diào)整增益的單片機數(shù)據(jù)采集系統(tǒng)(633)8.5 利用光纖發(fā)射/接收器對實現(xiàn)遠距離高速數(shù)據(jù)采集(639)8.6 一種頻率編碼鍵盤的設(shè)計與實現(xiàn)(645)8.7 高準確度時鐘程序算法(649)8.8 旋轉(zhuǎn)編碼器的抗抖動計數(shù)電路(652)8.9 利用X9241實現(xiàn)高分辨率數(shù)控電位器(656)8.10 基于AD2S80A的高精度位置檢測系統(tǒng)及其在機器人控制中的應(yīng)用(661)第九章 文章摘要一、專題論述(670)1.1 微控制器的發(fā)展趨勢(670)1.2 系統(tǒng)微集成技術(shù)的發(fā)展(670)1.3 多芯片組件技術(shù)及其應(yīng)用(671)1.4 MCS51和80C51系列單片機(671)1.5 PSD813器件在單片機系統(tǒng)中的應(yīng)用(671)1.6 主輔單片機系統(tǒng)的設(shè)計及應(yīng)用(671)1.7 一種雙單片機結(jié)構(gòu)的微機控制器(671)1.8 用PC機直接開發(fā)單片機系統(tǒng)(672)1.9 單片機系統(tǒng)大容量存儲器擴展技術(shù)(672)1.10 高性能微處理器性能模型設(shè)計(672)1.11 閃速存儲器的選擇與接口(672)1.12 串行存儲器接口的比較及選擇(672)1.13 移位寄存器分析方法的研究(673)1.14 GPS的時頻系統(tǒng)(673)1.15 一種基于C語言的虛擬儀器系統(tǒng)實現(xiàn)方法(673)1.16 智能家庭網(wǎng)絡(luò)研究綜述(673)1.17 用C51實現(xiàn)電力部多功能電能表通信規(guī)約(674)1.18 測控系統(tǒng)中采樣數(shù)據(jù)的預(yù)處理(674)1.19 數(shù)據(jù)采集系統(tǒng)動態(tài)特性的總體評價(674)1.20 一個高速準確的手寫數(shù)字識別系統(tǒng)(674)1.21 日本理光實時時鐘集成電路發(fā)展歷史及現(xiàn)狀(675)1.22 單片開關(guān)電源的發(fā)展及其應(yīng)用(675)二、綜合應(yīng)用技術(shù)(676)2.1 MCS51系列單片機在SDH系統(tǒng)中的應(yīng)用(676)2.2 公共閃存接口在Flash Memory程序設(shè)計中的應(yīng)用(676)2.3 應(yīng)用IA MMXTM技術(shù)的離散余弦變換(676)2.4 串行實時時鐘芯片DS1302程序設(shè)計中的問題與對策(676)2.5 數(shù)字傳感器及其應(yīng)用(677)2.6 電阻式溫度傳感器的系列化設(shè)計及其應(yīng)用(677)2.7 溫度傳感器及其與微處理器接口(677)2.8 AD7416數(shù)字溫度傳感器及其應(yīng)用(677)2.9 隔離放大器及其應(yīng)用(677)2.10 高速A/D轉(zhuǎn)換器動態(tài)參數(shù)(678)2.11 V/F變換在單片機系統(tǒng)中的應(yīng)用(678)2.12 微處理器內(nèi)嵌式模數(shù)轉(zhuǎn)換器在精密儀器中的應(yīng)用研究(678)2.13 電子秤非線性自動修正方法(678)2.14 光耦傳輸?shù)姆蔷€性校正(678)2.15 高斯濾波器在實時系統(tǒng)中的快速實現(xiàn)(679)2.16 用在系統(tǒng)可編程模擬器件實現(xiàn)雙二階型濾波器(679)2.17 最小二乘法在高精度溫度測量中的應(yīng)用(679)2.18 提高實時頻率測量范圍和精度新方法(679)2.19 具有微控制器的智能儀表設(shè)計與應(yīng)用(679)2.20 用C語言編程的數(shù)據(jù)采集系統(tǒng)(680)2.21 大動態(tài)范圍浮點A/D數(shù)據(jù)采集器的設(shè)計(680)2.22 基于PCI高速數(shù)據(jù)采集系統(tǒng)(680)2.23 一種基于PC機的高速16位并行數(shù)據(jù)采集接口(680)2.24 數(shù)據(jù)采集系統(tǒng)中增強型并行接口(EPP)電路的設(shè)計(681)2.25 用增強型并行接口EPP協(xié)議擴展計算機的ISA接口(681)2.26 基于增強型并行接口EPP的便攜式高速數(shù)據(jù)采集系統(tǒng)(681)2.27 增強型并行接口EPP協(xié)議及其在CAN監(jiān)控節(jié)點中的應(yīng)用(681)2.28 利用增強型并行接口協(xié)議傳輸圖像文件(681)2.29 用并行接口進行數(shù)據(jù)采集(682)2.30 高信噪比的VFC/DPLL數(shù)據(jù)采集裝置(682)2.31 高精度數(shù)字式轉(zhuǎn)速測量系統(tǒng)的研究(682)2.32 用單片機測量相位差的新方法(682)2.33 交流采樣在電力系統(tǒng)中應(yīng)用(682)2.34 同步圖形存儲器IS42G32256的電源與應(yīng)用(683)2.35 IBM?PC處理10MHz高速模擬信號的研究(683)2.36 MCS51系列單片機存儲容量擴展方法(683)2.37 用單片機實現(xiàn)數(shù)字相位變換器的設(shè)計方法(683)2.38 一種新的可重配置的串口擴展方案(683)2.39 VB環(huán)境下對雙端口RAM物理讀寫的實現(xiàn)(684)2.40 雙CPU實現(xiàn)遠程多鍵盤鼠標交互(684)2.41 兩種電阻時間變換器設(shè)計與分析(684)2.42 液晶顯示器的接口和編程技巧(684)2.43 一種簡單的電機變頻調(diào)速方案及其應(yīng)用(684)2.44 基于單片機的火控系統(tǒng)符號產(chǎn)生器電路原理設(shè)計(685)2.45 A/D轉(zhuǎn)換器性能的改善方法(685)2.46 快速小波變換算法與信噪分離(685)2.47 80C196MC/MD單片機多個中斷程序的同步問題(685)三、操作系統(tǒng)及軟件技術(shù)(686)3.1 嵌入式軟件技術(shù)的現(xiàn)狀與發(fā)展動向(686)3.2 什么是嵌入式實時操作系統(tǒng)(686)3.3 實時多任務(wù)系統(tǒng)中的一些基本概念(686)3.4 一個源碼公開的實時內(nèi)核(687)3.5 Windows CE的實時性分析(687)3.6 串口通信多線程實現(xiàn)的分析(687)3.7 基于中間件的開發(fā)研究(688)3.8 Windows 95下實時控制軟件設(shè)計的研究(688)3.9 Windows NT 4.0下設(shè)備驅(qū)動程序的開發(fā)與應(yīng)用(688)3.10 Windows 98 下硬件中斷驅(qū)動程序的開發(fā)(688)3.11 Windows下實時數(shù)據(jù)采集的實現(xiàn)(688)3.12 Win 95 下虛擬設(shè)備驅(qū)動程序設(shè)計開發(fā)(689)3.13 Win 95 環(huán)境下測控軟件中端口讀寫的快速實現(xiàn)(689)3.14 Linux系統(tǒng)中ARP的編程實現(xiàn)技術(shù)(689)3.15 Linux中System V進程通信機制及訪問控制技術(shù)的改進(689)3.16 VC++6.0中動態(tài)創(chuàng)建MSComm控件的問題及對策(689)3.17 在Visual Basic下使用I/O接口程序(690)3.18 VB應(yīng)用程序速度的優(yōu)化技術(shù)(690)3.19 嵌入式實時操作系統(tǒng)在機車微機測控軟件開發(fā)中的應(yīng)用(690)3.20 結(jié)構(gòu)化程序方法在匯編語言中的應(yīng)用(690)3.21 AVR單片機編程特性的應(yīng)用研究(690)3.22 一種有效的51系列單片機軟件仿真器(691)3.23 PIC單片機軟件模擬仿真時輸入信號的激勵方式(691)3.24 基于LabVIEW的分布式VXI儀器教學(xué)實驗系統(tǒng)設(shè)計(691)四、網(wǎng)絡(luò)、通信及數(shù)據(jù)傳輸(692)4.1 單片機網(wǎng)絡(luò)的組成與控制(692)4.2 實現(xiàn)ARINC 429數(shù)字信息傳輸?shù)姆桨冈O(shè)計(692)4.3 結(jié)合電力線載波和電話通信的報警網(wǎng)絡(luò)系統(tǒng)(692)4.4 網(wǎng)絡(luò)電子密碼鎖監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)(692)4.5 IRIG?E標準FM?FM解調(diào)器的有關(guān)技術(shù)(693)4.6 基于TCP/IP的多媒體通信實現(xiàn)(693)4.7 基于TCP/IP的多線程通信及其在遠程監(jiān)控系統(tǒng)中的應(yīng)用(693)4.8 基于Internet的遠程測控技術(shù)(693)4.9 Windows 95串行通信的幾種方式及編程(693)4.10 在Windows 95下PC機和單片機的串行通信(693)4.11 基于80C196KC微處理器的高速串行通信(694)4.12 使用PC機并行口與下位單片機通信的方法(694)4.13 雙向并口通信的開發(fā)(694)4.14 DSP和計算機并口的高速數(shù)據(jù)通信(694)4.15 一種高可靠性的PC機與單片機間的串行通信方法(694)4.16 單片機與PC機串行通信的實現(xiàn)方法(695)4.17 89C51單片機I/O口模擬串行通信的實現(xiàn)方法(695)4.18 TMS320C50與PC機高速串行通信的實現(xiàn)(695)4.19 DSP和PC機的異步串行通信設(shè)計(695)4.20 基于MCS單片機與PC機串行通信電平轉(zhuǎn)換(695)4.21 一種簡單的光電隔離RS232電平轉(zhuǎn)換接口設(shè)計(695)4.22 ISA總線工業(yè)控制機與單片機系統(tǒng)的數(shù)據(jù)交換(696)4.23 RS232/422/485綜合接口(696)4.24 基于RS485接口的單片機串行通信(696)4.25 在VC++中利用ActiveX控件開發(fā)串行通信程序(696)4.26 上位機和多臺下位機的485通信(696)4.27 計算機與CAN通信的一種方法(697)4.28 用VB語言實現(xiàn)對端口I/O的訪問(697)4.29 異種單片機共享片外存儲器及其與微機通信的方法(697)4.30 單片機與MODEM接口技術(shù)及其在智能儀器中的應(yīng)用研究(697)4.31 采用MCS51單片機實現(xiàn)CPFSK調(diào)制(697)4.32 一種新型編碼芯片及其驅(qū)動程序的設(shè)計方案(698)4.33 DTMF遠程通信的軟硬件實現(xiàn)技術(shù)(698)4.34 采用DTMF方式通信的電度表管理系統(tǒng)(698)4.35 基于TAPI的電話語音系統(tǒng)設(shè)計方法(698)4.36 語音芯片APR9600及其在電話遙控系統(tǒng)中的應(yīng)用(699)4.37 串行紅外收發(fā)模塊及其控制器在紅外抄表系統(tǒng)中的應(yīng)用(699)4.38 HSP50214B PDC及其在軟件無線電中的應(yīng)用(699)4.39 變速率CDMA系統(tǒng)軟件無線電多用戶接收機(699)五、新器件及應(yīng)用技術(shù)(700)5.1 全幀讀出型面陣CCD光電傳感器在圖像采集中的應(yīng)用(700)5.2 光電碼盤四倍頻分析(700)5.3 H8/300H系列單片機及其應(yīng)用(700)5.4 PIC 16F877單片機的鍵盤和LED數(shù)碼顯示接口(700)5.5 PIC16F877單片機實現(xiàn)D/A轉(zhuǎn)換的兩種方法(701)5.6 P89C51RX2 的PCA原理及設(shè)計(701)5.7 ADμC812中串口及其應(yīng)用(701)5.8 INTEL96系列單片機中若干問題的討論(701)5.9 關(guān)于INTEL96系列單片機中HSO事件的設(shè)置(701)5.10 MAX3100與PIC16C5X系列單片機的接口設(shè)計(702)5.11 單片MODEM芯片在遠程數(shù)據(jù)通信中的應(yīng)用(702)5.12 MX919在無線高速MODEM中的應(yīng)用(702)5.13 高速串行數(shù)據(jù)收發(fā)器CY7B923/933及應(yīng)用(702)5.14 雙口RAM與FIFO芯片在數(shù)據(jù)處理系統(tǒng)中應(yīng)用的比較(702)5.15 MAX202E在串行通信中的應(yīng)用(703)5.16 線性隔離放大器ISO122的原理及應(yīng)用(703)5.17 AD606對數(shù)放大器的研究與應(yīng)用(703)5.18 電流/電壓轉(zhuǎn)換芯片MAX472在永磁直流電動機虛擬測試系統(tǒng)中的應(yīng)用… (703)5.19 高精度模數(shù)轉(zhuǎn)換器AD676的原理及應(yīng)用(703)5.20 DS2450 A/D轉(zhuǎn)換器的特性與應(yīng)用(704)5.21 80C196KC內(nèi)部A/D轉(zhuǎn)換器的使用(704)5.22 一種16~24位分辨率D/A轉(zhuǎn)換器的設(shè)計(704)5.23 串行A/D轉(zhuǎn)換器TLC2543與TMS320C25的接口及編程(704)5.24 A/D轉(zhuǎn)換器ICL7135積分特性應(yīng)用(704)5.25 高精度A/D轉(zhuǎn)換器AD7711A及應(yīng)用(705)5.26 多路A/D轉(zhuǎn)換器AD7714及其與M68HC11單片機接口技術(shù)(705)5.27 用AD7755設(shè)計的低成本電能表(705)5.28 20位Σ?Δ立體聲ADA電路TLC320AD75C的接口電路設(shè)計(705)5.29 24位A/D轉(zhuǎn)換器ADS1210/1211及其應(yīng)用(706)5.30 模數(shù)轉(zhuǎn)換器AD7705及其接口電路(706)5.31 串行A/D轉(zhuǎn)換器ADS7812與單片機的接口技術(shù)(706)5.32 串行A/D轉(zhuǎn)換器TLC548/549及其應(yīng)用(706)5.33 采樣率可變16通道16位隔離A/D電路(706)5.34 TLC549在交流有效值測量中的應(yīng)用(707)5.35 溫度傳感器DS18B20的特性及程序設(shè)計方法(707)5.36 DS1820及其高精度溫度測量的實現(xiàn)(707)5.37 采用DS1820的電弧爐爐底溫度監(jiān)測系統(tǒng)(707)5.38 并行實時時鐘芯片DS12887及其應(yīng)用(707)5.39 利用實時時鐘X1203開啟單片機系統(tǒng)(708)5.40 時鐘芯片DS1302及其在數(shù)據(jù)記錄中的應(yīng)用(708)5.41 串行顯示驅(qū)動器PS7219及與單片機的接口技術(shù)(708)5.42 MAX7219在PLC中的應(yīng)用(708)5.43 一種實用的LED光柱顯示器驅(qū)動方法(708)5.44 基于電能測量芯片ADE7756的智能電度表設(shè)計(709)5.45 TSS721A在自動抄表系統(tǒng)中的應(yīng)用(709)5.46 電流傳感放大器MAX471/MAX472的原理及應(yīng)用(709)5.47 8XC552模數(shù)轉(zhuǎn)換過程及其自動調(diào)零機制(709)5.48 旋轉(zhuǎn)變壓器數(shù)字轉(zhuǎn)換器AD2S83在伺服系統(tǒng)中的應(yīng)用(709)5.49 具有串行接口的I/O擴展器EM83010及其應(yīng)用(710)5.50 新型LED驅(qū)動器TEC9607及其應(yīng)用(710)5.51 新型語音識別電路AP7003及其應(yīng)用(710)六、總線技術(shù)(711)6.1 現(xiàn)場總線技術(shù)的發(fā)展及應(yīng)用展望(711)6.2 CAN總線點對點通信應(yīng)用研究(711)6.3 基于CAN總線的數(shù)據(jù)通信系統(tǒng)研究(711)6.4 基于CAN總線的分布式數(shù)據(jù)采集與控制系統(tǒng)(711)6.5 基于CAN總線的分布式鋁電解智能系統(tǒng)(711)6.6 CAN總線在通信電源監(jiān)控系統(tǒng)中的應(yīng)用(712)6.7 CAN總線在弧焊機器人控制系統(tǒng)中的應(yīng)用(712)6.8 CAN總線及其在噴漿機器人中的應(yīng)用(712)6.9 基于CAN控制器的單片機農(nóng)業(yè)溫室控制系統(tǒng)的設(shè)計(712)6.10 現(xiàn)場總線國際標準與LonWorks在智能電器中的應(yīng)用(712)6.11 基于LON總線技術(shù)的暖通空調(diào)控制系統(tǒng)(712)6.12 通用串行總線(USB)及其芯片的使用(713)6.13 USB在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用(713)6.14 用MC68HC05JB4開發(fā)USB外設(shè)(713)6.15 8x930Ax/Hx USB控制器芯片及其在數(shù)字音頻中的應(yīng)用(713)6.16 基于MC68HC(9)08JB8芯片的USB產(chǎn)品——鍵盤設(shè)計(713)6.17 I2 C總線在LonWorks網(wǎng)絡(luò)節(jié)點上的應(yīng)用(714)6.18 Neuron3150的并行I/O接口對象及其應(yīng)用(714)6.19 新型串行E2PROM 24LC65在LonWorks節(jié)點中的應(yīng)用(714)6.20 利用I2C總線實現(xiàn)DSP對CMOS圖像傳感器的控制(714)6.21 在I2C總線系統(tǒng)中擴展LCD顯示器(714)6.22 基于Windows環(huán)境的GPIB接口設(shè)計實現(xiàn)(714)6.23 微機PCI總線接口的研究與設(shè)計(715)6.24 通用串行總線(USB)原理及接口設(shè)計(715)6.25 CAN總線與1553B總線性能分析比較(715)6.26 利用USB接口實現(xiàn)雙機互聯(lián)通信(715)6.27 一種帶USB接口的便攜式語音采集卡的設(shè)計(715)七、可靠性技術(shù)(716)7.1 電磁干擾與電磁兼容設(shè)計(716)7.2 計算機的防電磁泄漏技術(shù)(716)7.3 低輻射計算機系統(tǒng)的設(shè)計實現(xiàn)(716)7.4 靜電測量及其程序設(shè)計(716)7.5 電子產(chǎn)品生產(chǎn)中的靜電防護技術(shù)(716)7.6 電子測控系統(tǒng)中的屏蔽與接地技術(shù)(717)7.7 微機控制系統(tǒng)的抗干擾技術(shù)(717)7.8 如何提高單片機應(yīng)用產(chǎn)品的抗干擾能力(717)7.9 工業(yè)控制計算機系統(tǒng)中的常見干擾及處理措施(717)7.10 GPS用于軍用導(dǎo)航中的抗干擾和干擾對抗研究(717)7.11 基于開放式體系結(jié)構(gòu)的數(shù)控機床可靠性及抗干擾設(shè)計(717)7.12 變頻器應(yīng)用技術(shù)中的抗干擾問題(718)7.13 單片機的軟件可靠性編程(718)7.14 單片微機的軟件抑噪方案(718)7.15 SmartLock并口單片機軟件狗加密技術(shù)(718)7.16 單片機系統(tǒng)中復(fù)位電路可靠性設(shè)計(718)7.17 測控系統(tǒng)中實現(xiàn)數(shù)據(jù)安全存儲的實用技術(shù)(718)7.18 高精度儀表信號隔離電路設(shè)計(719)7.19 基于AT89C2051單片機的防誤操作智能鎖(719)7.20 Email的安全問題與保護措施(719)7.21 雙機容錯系統(tǒng)的一種實現(xiàn)途徑(719)7.22 單片機應(yīng)用系統(tǒng)抗干擾設(shè)計綜述(719)7.23 微機控制系統(tǒng)中的干擾及其抑制方法(720)7.24 智能儀表的抗干擾和故障診斷(720)八、應(yīng)用實踐(721)8.1 AT89C51在銀行利率顯示屏中的應(yīng)用(721)8.2 基于8xC196MC實現(xiàn)的磁鏈軌跡跟蹤控制(721)8.3 基于80C196KC的開關(guān)磁阻電機測試系統(tǒng)(721)8.4 80C196KB單片機在繞線式異步電動機啟動控制中的應(yīng)用(721)8.5 GPS時鐘系統(tǒng)(721)8.6 一種由AT89C2051單片微機實現(xiàn)的功率因數(shù)補償裝置(722)8.7 數(shù)據(jù)采集系統(tǒng)芯片ADμC812及其在溫度監(jiān)測系統(tǒng)中的應(yīng)用(722)8.8 用AVR單片機實現(xiàn)蓄電池剩余電量的測量(722)8.9 基于SA9604的多功能電度表(722)8.10 數(shù)字正交上變頻器AD9856的原理及其應(yīng)用(722)8.11 基于MC628的可變參數(shù)PID控制方法的實現(xiàn)(723)8.12 Windows 98下遠程數(shù)據(jù)采集系統(tǒng)設(shè)計(723)8.13 一種新式微流量計的研究(723)8.14 一種便攜式多通道精密測溫儀(723)8.15 一種高精度定時器的設(shè)計及其應(yīng)用(723)8.16 智能濕度儀設(shè)計(724)8.17 固態(tài)數(shù)字語音記錄儀的設(shè)計與實現(xiàn)(724)8.18 多功能語音電話答錄器的設(shè)計(724)8.19 白熾燈色溫測量裝置電路設(shè)計(724)8.20 交直流供電無縫連接電源控制系統(tǒng)設(shè)計(724)8.21 小型電磁輻射敏感度自動測試系統(tǒng)的設(shè)計(725)8.22 生物電極微電流動態(tài)檢測裝置(725)8.23 二種鉑電阻4~20 mA電流變送器電路(725)8.24 基于單片機的智能型光電編碼器計數(shù)器(725)8.25 嵌入式系統(tǒng)中利用RS232C串口擴展矩陣式鍵盤(725)8.26 電壓矢量控制PWM波的一種實時生成方法(725)8.27 便攜式電能表校驗裝置現(xiàn)場使用分析(726)8.28 用單片機實現(xiàn)大型電動機的在線監(jiān)測(726)8.29 PLC在L型管彎曲機電控系統(tǒng)中的應(yīng)用(726)8.30 用EPROM實現(xiàn)步進電機的控制(726)8.31 一種手持設(shè)備的智能卡實現(xiàn)技術(shù)(726)8.32 鈔票顏色識別系統(tǒng)的設(shè)計(727)8.33 數(shù)字鎖相環(huán)在位置檢測中的應(yīng)用(727)九、DSP及其應(yīng)用技術(shù)(728)9.1 數(shù)字信號處理器DSPs的發(fā)展(728)9.2 用TMS320C6201實現(xiàn)多路ITU?T G.728語音編碼標準(728)9.3 采用DSP內(nèi)核技術(shù)進行語音壓縮開發(fā)(728)9.4 TMS320C80與存儲器接口分析(728)9.5 TMS320C32浮點DSP存儲器接口設(shè)計(728)9.6 TMS320VC5402 DSP的并行I/O引導(dǎo)裝載方法研究(729)9.7 TMS320C30系統(tǒng)與PC104進行雙向并行通信的方法(729)9.8 基于TMS320C6201的G.723.1多通道語音編解碼的實現(xiàn)(729)9.9 基于TMS320C6201的多通道信號處理平臺(729)9.10 基于兩片TMS320C40的高速數(shù)據(jù)采集系統(tǒng)(729)9.11 使用TMS320C542構(gòu)成數(shù)據(jù)采集處理系統(tǒng)(730)9.12 基于TMS320C32的視覺圖像處理系統(tǒng)(730)9.13 用ADSP?2181和MC68302實現(xiàn)MPEG?2傳送復(fù)用器(730)9.14 基于DSP的PC加密卡(730)9.15 TMS320C2XX及其在寬帶恒定束寬波束形成器中的應(yīng)用(730)9.16 DS80C320單片機在無人機測控數(shù)據(jù)采編器中的應(yīng)用(731)9.17 基于TMS320F206 DSP的圖像采集卡設(shè)計(731)9.18 基于定點DSP的實時語音命令識別模塊(731)9.19 基于TMS320C50的語音頻譜分析儀(731)9.20 利用DSP實現(xiàn)的專用數(shù)字錄音機(731)9.21 基于DSP的全數(shù)字交流傳動系統(tǒng)硬件平臺設(shè)計(732)9.22 ADSP2106x中DMA的應(yīng)用(732)9.23 軟件無線電中DSP應(yīng)用模式的分析(732)9.24 快速小波變換在DSP中的實現(xiàn)方法(732)十、PLD及EDA技術(shù)應(yīng)用(733)10.1 可編程器件實現(xiàn)片上系統(tǒng)(733)10.2 VHDL語言在現(xiàn)代數(shù)字系統(tǒng)中的應(yīng)用(733)10.3 用VHDL設(shè)計有限狀態(tài)機的方法(733)10.4 ISP-PLD在數(shù)字系統(tǒng)設(shè)計中的應(yīng)用(733)10.5 基于FPGA技術(shù)的新型高速圖像采集(734)10.6 Protel 99SE電路仿真(734)10.7 可編程邏輯器件(PLD)在電路設(shè)計中的應(yīng)用(734)10.8 基于FPGA的全數(shù)字鎖相環(huán)路的設(shè)計(734)10.9 基于EPLD器件的一對多打印機控制器的研制(734)10.10 一種VHDL設(shè)計實現(xiàn)的有線電視機頂盒信源發(fā)生方案(735)10.11 一種并行存儲器系統(tǒng)的FPGA實現(xiàn)(735)10.12 SDRAM接口的VHDL設(shè)計(735)10.13 采用ISP器件設(shè)計可變格式和可變速率的通信數(shù)字信號源(735)10.14 利用FPGA技術(shù)實現(xiàn)數(shù)字通信中的交織器和解交織器(735)10.15 XC9500系列CPLD遙控編程的實現(xiàn)(736)10.16 PLD器件在紅外遙控解碼中的應(yīng)用(736)10.17 利用XCS40實現(xiàn)小型聲納的片上系統(tǒng)集成(736)10.18 可編程邏輯器件的VHDL設(shè)計技術(shù)及其在航空火控電子設(shè)備中的應(yīng)用… (736)10.19 DSP+FPGA實時信號處理系統(tǒng)(736)10.20 CPLD在IGBT驅(qū)動設(shè)計中的應(yīng)用(737)10.21 基于FPGA的FIR濾波器的實現(xiàn)(737)10.22 用可編程邏輯器件取代BCD?二進制轉(zhuǎn)換器的設(shè)計方法(737)

    標簽: 單片機 應(yīng)用技術(shù)

    上傳時間: 2014-04-14

    上傳用戶:gtf1207

  • Demo程序經(jīng)Keil701編譯后

    Demo程序經(jīng)Keil701編譯后,代碼量為7-8K,可直接在KeilC51上仿真運行。 使用方法:解壓后雙擊yy項目,點調(diào)試即可在串口仿真看到結(jié)果。 Demo程序創(chuàng)建了3個任務(wù)A、B、C優(yōu)先級分別為2、3、4,A每秒顯示一次,B每3秒顯示一次,C每6秒顯示一次。從顯示結(jié)果看,顯示3個A后顯示1個B,顯示6個A和2個B后顯示1個C,結(jié)果顯然正確。用戶可以仿照范例運用更多系統(tǒng)API函數(shù)寫出自己的程序。只要程序中有顯示語句就可以用軟件仿真器看結(jié)果。注意:系統(tǒng)提供的顯示函數(shù)是并發(fā)的,他不是直接顯示到串口,而是先輸出到顯存,用戶不必擔(dān)心IO慢速操作影響程序運行。串口輸入也采用了同樣的技術(shù),他使得用戶在CPU忙于處理其他任務(wù)時照樣可以盲打輸入命令。 將EXL2-shell目錄下的文件覆蓋yy目錄下的同名文件,將word.c、yyshell.c、yyshellsub.c、mystring.c加入項目,刪除yy1.c,編譯后調(diào)試即可。輸入help可得到在線幫助,具體命令用法見文章說明。 yangye網(wǎng)友推薦http://www.sics.se/~adam/lwip/網(wǎng)站學(xué)習(xí)TCPIP,該網(wǎng)站開放源代碼的lwip是專為8bit和16bitMCU設(shè)計的TCPIP協(xié)議棧,已在多種CPU上移植成功,推薦大家下載。

    標簽: Demo Keil 701 程序

    上傳時間: 2014-11-01

    上傳用戶:hopy

  • 收SP下行消息 A. 啟動MMSC偵聽端口 在模擬器界面的右下角的"Liten Port"文本框中輸入MMSC的偵聽端口

    收SP下行消息 A. 啟動MMSC偵聽端口 在模擬器界面的右下角的"Liten Port"文本框中輸入MMSC的偵聽端口,這個值是為接收SP發(fā)出的下行消息提供服務(wù)的端口號,比如:"8080",按下"Start"按鈕啟動MMSC偵聽服務(wù)。 B. 接收消息 接收的是從SP(API)發(fā)來的消息,處理后回一條響應(yīng)消息。 2 模擬MMSC向SP發(fā)送上行消息 A. 選擇模擬器左邊界面的MessageType為“DeliverReq”; B. “Send To”文本框中輸入SP的上行地址,例如http://10.164.50.29:8888; C. 在界面中選擇輸入其他需要的字段,然后點擊“Send”按紐即可向SP上行地址發(fā)送上行消息。 3 模擬MMSC向SP發(fā)送遞送報告消息 A. 選擇模擬器左邊界面的MessageType為“DeliverReportReq”; B. “Send To”文本框中輸入SP的上行地址,例如http://10.164.50.29:8888; C. 在界面中選擇輸入其他需要的字段,然后點擊“Send”按紐即可向SP上行地址發(fā)送遞送報告消息。 4 模擬MMSC向SP發(fā)送閱讀報告消息 A. 選擇模擬器左邊界面的MessageType為“ReadReportReq”; B. “Send To”文本框中輸入SP的上行地址,例如http://10.164.50.29:8888; C. 在界面中選擇輸入其他需要的字段,然后點擊“Send”按紐即可向SP上行地址發(fā)送閱讀報告消息

    標簽: A. MMSC Liten Port

    上傳時間: 2014-01-16

    上傳用戶:氣溫達上千萬的

  • 華恒科技 HHCF5249-R3 技術(shù)手冊 第一章 產(chǎn)品簡介 第二章 軟件系統(tǒng) 第三章 硬件系統(tǒng) 第四章 機械特性 第五章 底板的硬件設(shè)計 第六章 售后服務(wù)及技術(shù)支持 附錄 附錄A 初

    華恒科技 HHCF5249-R3 技術(shù)手冊 第一章 產(chǎn)品簡介 第二章 軟件系統(tǒng) 第三章 硬件系統(tǒng) 第四章 機械特性 第五章 底板的硬件設(shè)計 第六章 售后服務(wù)及技術(shù)支持 附錄 附錄A 初始化 附錄B LINUX 常見術(shù)語 附錄C 常用LINUX 命令 附錄D GCC 與GDB 附錄E MAKEFILE 附錄F UCLINUX 系統(tǒng)分析 uClinux 簡介 uClinux 小型化的做法 uClinux 的開發(fā)環(huán)境 uClinux 的內(nèi)存管理 工具及內(nèi)核 附錄G 圖形界面(GUI)接口函數(shù)API 附錄H 參考資料

    標簽: HHCF 5249 華恒科技 產(chǎn)品簡介

    上傳時間: 2013-12-24

    上傳用戶:a6697238

  • var matlab:variant //通過"變體"調(diào)用接口是比較低效的,但很方便 begin //變體這種結(jié)構(gòu)

    var matlab:variant //通過"變體"調(diào)用接口是比較低效的,但很方便 begin //變體這種結(jié)構(gòu),本是vb中的東西。 try //如果已有活動的matlab.application對象,取其接口 matlab:=GetActiveOleObject( Matlab.Application ) except //這些個api所使用到的參數(shù),其實都可以在注冊表里搜索到. matlab:=CreateOleObject( Matlab.Application ) //否則自己創(chuàng)建之 matlab:=CreateOleObject( Matlab.Application.5 ) matlab.execute( a=[1 1/ 3 1/5] ) //matlab.application接口具有 matlab.execute( b=[3 1 1/3] ) //這種方法(接口),否則會出錯 matlab.execute( plot(a,b) );

    標簽: variant matlab begin var

    上傳時間: 2013-12-18

    上傳用戶:dapangxie

  • MM7彩信對接網(wǎng)關(guān)示例

    MM7彩信對接網(wǎng)關(guān)示例,使用此程序可作為中國移動MM7對接的SP端彩信網(wǎng)關(guān)。此程序使用了中興的API。

    標簽: MM7 彩信 對接 網(wǎng)關(guān)

    上傳時間: 2014-03-11

    上傳用戶:kikye

  • net_tcp.h

    /* ********************************************************************************************************* *                                             uC/TCP-IP V2 *                                      The Embedded TCP/IP Suite * *                          (c) Copyright 2003-2010; Micrium, Inc.; Weston, FL * *               All rights reserved.  Protected by international copyright laws. * *               uC/TCP-IP is provided in source form to registered licensees ONLY.  It is  *               illegal to distribute this source code to any third party unless you receive  *               written permission by an authorized Micrium representative.  Knowledge of  *               the source code may NOT be used to develop a similar product. * *               Please help us continue to provide the Embedded community with the finest  *               software available.  Your honesty is greatly appreciated. * *               You can contact us at www.micrium.com. ********************************************************************************************************* */ /* ********************************************************************************************************* * *                                          NETWORK TCP LAYER *                                   (TRANSMISSION CONTROL PROTOCOL) * * Filename      : net_tcp.h * Version       : V2.10 * Programmer(s) : ITJ ********************************************************************************************************* * Note(s)       : (1) Supports Transmission Control Protocol as described in RFC #793 with the following *                     restrictions/constraints : * *                     (a) TCP Security & Precedence NOT supported               RFC # 793, Section 3.6 * *                     (b) TCP Urgent Data           NOT supported               RFC # 793, Section 3.7 *                                                                                'The Communication of *                                                                                  Urgent Information' * *                     (c) The following TCP options NOT supported :              * *                         (1) Window Scale                                      RFC #1072, Section 2 *                                                                               RFC #1323, Section 2 *                         (2) Selective Acknowledgement (SACK)                  RFC #1072, Section 3 *                                                                               RFC #2018 *                                                                               RFC #2883 *                         (3) TCP Echo                                          RFC #1072, Section 4 *                         (4) Timestamp                                         RFC #1323, Section 3.2 *                         (5) Protection Against Wrapped Sequences (PAWS)       RFC #1323, Section 4 * *                     (d) #### IP-Options-to-TCP-Connection                     RFC #1122, Section 4.2.3.8 *                                Handling NOT           supported * *                     (e) #### ICMP-Error-Message-to-TCP-Connection             RFC #1122, Section 4.2.3.9 *                                Handling NOT currently supported * *                 (2) TCP Layer assumes/requires Network Socket Layer (see 'net_sock.h  MODULE  Note #1a2'). ********************************************************************************************************* */ /*$PAGE*/ /* ********************************************************************************************************* *                                               MODULE * * Note(s) : (1) TCP Layer module is NOT required for UDP-to-Application API configuration. * *               See also 'net_cfg.h  TRANSPORT LAYER CONFIGURATION' *                      & 'net_cfg.h  USER DATAGRAM PROTOCOL LAYER CONFIGURATION'. * *               See also 'net_tcp.h  Note #2'. * *           (2) The following TCP-module-present configuration value MUST be pre-#define'd in  *               'net_cfg_net.h' PRIOR to all other network modules that require TCP Layer *               configuration (see 'net_cfg_net.h  TCP LAYER CONFIGURATION  Note #2b') : * *                   NET_TCP_MODULE_PRESENT ********************************************************************************************************* */ #ifdef   NET_TCP_MODULE_PRESENT                                 /* See Note #2.                                         */ /* ********************************************************************************************************* *                                               EXTERNS ********************************************************************************************************* */ #if ((defined(NET_TCP_MODULE)) && \      (defined(NET_GLOBALS_EXT))) #define  NET_TCP_EXT #else #define  NET_TCP_EXT  extern #endif /*$PAGE*/ /* ********************************************************************************************************* *                                               DEFINES ********************************************************************************************************* */ /* ********************************************************************************************************* *                                         TCP HEADER DEFINES * * Note(s) : (1) The following TCP value MUST be pre-#define'd in 'net_def.h' PRIOR to 'net_buf.h' so that *               the Network Buffer Module can configure maximum buffer header size (see 'net_def.h  TCP *               LAYER DEFINES' & 'net_buf.h  NETWORK BUFFER INDEX & SIZE DEFINES  Note #1') : * *               (a) NET_TCP_HDR_SIZE_MAX                  60        (NET_TCP_HDR_LEN_MAX *                                                                  * NET_TCP_HDR_LEN_WORD_SIZE) * *           (2) Urgent pointer & data NOT supported (see 'net_tcp.h  Note #1b'). ********************************************************************************************************* */ #define  NET_TCP_HDR_LEN_MASK                         0xF000u #define  NET_TCP_HDR_LEN_SHIFT                            12u #define  NET_TCP_HDR_LEN_NONE                              0u #define  NET_TCP_HDR_LEN_MIN                               5u #define  NET_TCP_HDR_LEN_MAX                              15u #define  NET_TCP_HDR_LEN_WORD_SIZE                       CPU_WORD_SIZE_32 #define  NET_TCP_HDR_SIZE_MIN                           (NET_TCP_HDR_LEN_MIN * NET_TCP_HDR_LEN_WORD_SIZE) #if 0                                                           /* See Note #1a.                                        */ #define  NET_TCP_HDR_SIZE_MAX                           (NET_TCP_HDR_LEN_MAX * NET_TCP_HDR_LEN_WORD_SIZE) #endif #define  NET_TCP_HDR_SIZE_TOT_MIN                       (NET_IP_HDR_SIZE_TOT_MIN + NET_TCP_HDR_SIZE_MIN) #define  NET_TCP_HDR_SIZE_TOT_MAX                       (NET_IP_HDR_SIZE_TOT_MAX + NET_TCP_HDR_SIZE_MAX) #define  NET_TCP_PSEUDO_HDR_SIZE                          12u   /*  = sizeof(NET_TCP_PSEUDO_HDR)                        */ #define  NET_TCP_PORT_NBR_RESERVED                       NET_PORT_NBR_RESERVED #define  NET_TCP_PORT_NBR_NONE                           NET_TCP_PORT_NBR_RESERVED #define  NET_TCP_HDR_URG_PTR_NONE                     0x0000u   /* See Note #2.                                         */ /*$PAGE*/ /* ********************************************************************************************************* *                                       TCP HEADER FLAG DEFINES * * Note(s) : (1) See 'TCP HEADER  Note #2' for flag fields. * *           (2) Urgent pointer & data NOT supported (see 'net_tcp.h  Note #1b'). ********************************************************************************************************* */ #define  NET_TCP_HDR_FLAG_MASK                        0x0FFFu #define  NET_TCP_HDR_FLAG_NONE                    DEF_BIT_NONE #define  NET_TCP_HDR_FLAG_RESERVED                    0x0FE0u   /* MUST be '0'.                                         */ #define  NET_TCP_HDR_FLAG_URGENT                  DEF_BIT_05    /* See Note #2.                                         */ #define  NET_TCP_HDR_FLAG_ACK                     DEF_BIT_04 #define  NET_TCP_HDR_FLAG_PUSH                    DEF_BIT_03 #define  NET_TCP_HDR_FLAG_RESET                   DEF_BIT_02 #define  NET_TCP_HDR_FLAG_SYNC                    DEF_BIT_01 #define  NET_TCP_HDR_FLAG_FIN                     DEF_BIT_00 #define  NET_TCP_HDR_FLAG_CLOSE                   NET_TCP_HDR_FLAG_FIN /* ********************************************************************************************************* *                                          TCP FLAG DEFINES ********************************************************************************************************* */                                                                 /* ------------------ NET TCP FLAGS ------------------- */ #define  NET_TCP_FLAG_NONE                        DEF_BIT_NONE #define  NET_TCP_FLAG_USED                        DEF_BIT_00    /* TCP conn cur used; i.e. NOT in free TCP conn pool.   */                                                                 /* ------------------ TCP TX  FLAGS ------------------- */                                                                 /* TCP tx flags copied from TCP hdr flags.              */ #define  NET_TCP_FLAG_TX_FIN                      NET_TCP_HDR_FLAG_FIN #define  NET_TCP_FLAG_TX_CLOSE                    NET_TCP_FLAG_TX_FIN #define  NET_TCP_FLAG_TX_SYNC                     NET_TCP_HDR_FLAG_SYNC #define  NET_TCP_FLAG_TX_RESET                    NET_TCP_HDR_FLAG_RESET #define  NET_TCP_FLAG_TX_PUSH                     NET_TCP_HDR_FLAG_PUSH #define  NET_TCP_FLAG_TX_ACK                      NET_TCP_HDR_FLAG_ACK #define  NET_TCP_FLAG_TX_URGENT                   NET_TCP_HDR_FLAG_URGENT #define  NET_TCP_FLAG_TX_BLOCK                    DEF_BIT_07                                                                 /* ------------------ TCP RX  FLAGS ------------------- */ #define  NET_TCP_FLAG_RX_DATA_PEEK                DEF_BIT_08 #define  NET_TCP_FLAG_RX_BLOCK                    DEF_BIT_15 /*$PAGE*/ /* ********************************************************************************************************* *                                          TCP TYPE DEFINES * * Note(s) : (1) NET_TCP_TYPE_&&& #define values specifically chosen as ASCII representations of the TCP *               types.  Memory displays of TCP types will display with their chosen ASCII names. ********************************************************************************************************* */                                                                 /* ------------------ NET TCP TYPES ------------------- */ #if     (CPU_CFG_ENDIAN_TYPE == CPU_ENDIAN_TYPE_BIG) #define  NET_TCP_TYPE_NONE                        0x4E4F4E45u   /* "NONE" in ASCII.                                     */ #define  NET_TCP_TYPE_CONN                        0x54435020u   /* "TCP " in ASCII.                                     */ #else #if     (CPU_CFG_DATA_SIZE   == CPU_WORD_SIZE_32) #define  NET_TCP_TYPE_NONE                        0x454E4F4Eu   /* "NONE" in ASCII.                                     */ #define  NET_TCP_TYPE_CONN                        0x20504354u   /* "TCP " in ASCII.                                     */ #elif   (CPU_CFG_DATA_SIZE   == CPU_WORD_SIZE_16) #define  NET_TCP_TYPE_NONE                        0x4F4E454Eu   /* "NONE" in ASCII.                                     */ #define  NET_TCP_TYPE_CONN                        0x43542050u   /* "TCP " in ASCII.                                     */ #else                                                           /* Dflt CPU_WORD_SIZE_08.                               */ #define  NET_TCP_TYPE_NONE                        0x4E4F4E45u   /* "NONE" in ASCII.                                     */ #define  NET_TCP_TYPE_CONN                        0x54435020u   /* "TCP " in ASCII.                                     */ #endif #endif /* ********************************************************************************************************* *                                     TCP SEQUENCE NUMBER DEFINES * * Note(s) : (1) TCP initial transmit sequence number is incremented by a fixed value, preferably a large *               prime value or a large value with multiple unique factors. * *               (a) One reasonable TCP initial transmit sequence number increment value example : * *                       65527  =  37 * 23 * 11 * 7 * * *               #### NET_TCP_TX_SEQ_NBR_CTR_INC could be developer-configured in 'net_cfg.h'. * *               See also 'NET_TCP_TX_GET_SEQ_NBR()  Notes #1b2 & #1c2'. ********************************************************************************************************* */ #define  NET_TCP_SEQ_NBR_NONE                              0u #define  NET_TCP_ACK_NBR_NONE                            NET_TCP_SEQ_NBR_NONE #define  NET_TCP_TX_SEQ_NBR_CTR_INC                    65527u   /* See Note #1.                                         */ #define  NET_TCP_ACK_NBR_DUP_WIN_SIZE_SCALE                4 /*$PAGE*/ /* ********************************************************************************************************* *                                    TCP DATA/TOTAL LENGTH DEFINES * * Note(s) : (1) (a) TCP total length #define's (NET_TCP_TOT_LEN)  relate to the total size of a complete *                   TCP packet, including the packet's TCP header.  Note that a complete TCP packet MAY *                   be fragmented in multiple Internet Protocol packets. * *               (b) TCP data  length #define's (NET_TCP_DATA_LEN) relate to the data  size of a complete *                   TCP packet, equal to the total TCP packet length minus its TCP header size.  Note  *                   that a complete TCP packet MAY be fragmented in multiple Internet Protocol packets. ********************************************************************************************************* */                                                                                 /* See Notes #1a & #1b.                 */ #define  NET_TCP_DATA_LEN_MIN                              0u #define  NET_TCP_TOT_LEN_MIN                            (NET_TCP_HDR_SIZE_MIN + NET_TCP_DATA_LEN_MIN) #define  NET_TCP_TOT_LEN_MAX                            (NET_IP_TOT_LEN_MAX   - NET_IP_HDR_SIZE_MIN ) #define  NET_TCP_DATA_LEN_MAX                           (NET_TCP_TOT_LEN_MAX  - NET_TCP_HDR_SIZE_MIN) /*$PAGE*/ /* ********************************************************************************************************* *                                      TCP SEGMENT SIZE DEFINES * * Note(s) : (1) (a) RFC # 879, Section 3 states that the TCP Maximum Segment Size "counts only *                   data octets in the segment, ... not the TCP header or the IP header". * *               (b) RFC #1122, Section 4.2.2.6 requires that : * *                   (1) "The MSS value to be sent in an MSS option must be less than or equal to * *                        (A) MMS_R - 20 * *                        where MMS_R is the maximum size for a transport-layer message that can *                        be received." * *                   (2) "If an MSS option is not received at connection setup, TCP MUST assume a *                        default send MSS of 536 (576 - 40)." * *                   See also 'net_ip.h  IP DATA/TOTAL LENGTH DEFINES  Note #1'. ********************************************************************************************************* */                                                                                         /* See Note #1.                 */ #define  NET_TCP_MAX_SEG_SIZE_DFLT                      (NET_IP_MAX_DATAGRAM_SIZE_DFLT - NET_IP_HDR_SIZE_MIN - NET_TCP_HDR_SIZE_MIN) #define  NET_TCP_MAX_SEG_SIZE_DFLT_RX                    NET_TCP_DATA_LEN_MAX           /* See Note #1b1.               */ #define  NET_TCP_MAX_SEG_SIZE_DFLT_TX                    NET_TCP_MAX_SEG_SIZE_DFLT      /* See Note #1b2.               */ #define  NET_TCP_MAX_SEG_SIZE_NONE                         0u #define  NET_TCP_MAX_SEG_SIZE_MIN                        NET_TCP_MAX_SEG_SIZE_DFLT #define  NET_TCP_MAX_SEG_SIZE_MAX                        NET_TCP_DATA_LEN_MAX #define  NET_TCP_SEG_LEN_MIN                             NET_TCP_DATA_LEN_MIN #define  NET_TCP_SEG_LEN_MAX                             NET_TCP_DATA_LEN_MAX #define  NET_TCP_SEG_LEN_SYNC                              1u #define  NET_TCP_SEG_LEN_FIN                               1u #define  NET_TCP_SEG_LEN_CLOSE                           NET_TCP_SEG_LEN_FIN #define  NET_TCP_SEG_LEN_ACK                               0u #define  NET_TCP_SEG_LEN_RESET                             0u #define  NET_TCP_SEG_LEN_PROBE                             0u #define  NET_TCP_DATA_LEN_TX_SYNC                          0u #define  NET_TCP_DATA_LEN_TX_FIN                           0u #define  NET_TCP_DATA_LEN_TX_CLOSE                       NET_TCP_DATA_LEN_TX_FIN #define  NET_TCP_DATA_LEN_TX_ACK                           0u #define  NET_TCP_DATA_LEN_TX_PROBE_NO_DATA                 0u #define  NET_TCP_DATA_LEN_TX_PROBE_DATA                    1u #define  NET_TCP_DATA_LEN_TX_RESET                         0u #define  NET_TCP_TX_PROBE_DATA                          0x00u /* ********************************************************************************************************* *                                       TCP WINDOW SIZE DEFINES * * Note(s) : (1) Although NO RFC specifies the absolute minimum TCP connection window size value allowed, *               RFC #793, Section 3.7 'Data Communication : Managing the Window' states that for "the *               window ... there is an assumption that this is related to the currently available data *               buffer space available for this connection". ********************************************************************************************************* */ #define  NET_TCP_WIN_SIZE_NONE                             0u #define  NET_TCP_WIN_SIZE_MIN                            NET_TCP_MAX_SEG_SIZE_MIN #define  NET_TCP_WIN_SIZE_MAX                            DEF_INT_16U_MAX_VAL /*$PAGE*/ /* ********************************************************************************************************* *                                     TCP HEADER OPTIONS DEFINES * * Note(s) : (1) See the following RFC's for TCP options summary : * *               (a) RFC # 793, Section  3.1 'Header Format : Options' *               (b) RFC #1122; Sections 4.2.2.5, 4.2.2.6 * *           (2) TCP option types are encoded in the first octet for each TCP option as follows : * *                           -------- *                           | TYPE | *                           -------- * *               The TCP option type value determines the TCP option format : * *               (a) The following TCP option types are single-octet TCP options -- i.e. the option type *                   octet is the ONLY octet for the TCP option. * *                   (1) TYPE =  0   End of Options List *                   (2) TYPE =  1   No Operation * * *               (b) All other TCP options MUST be multi-octet TCP options (see RFC #1122, Section 4.2.2.5) : * *                           ------------------------------ *                           | TYPE | LEN  |   TCP OPT    | *                           ------------------------------ * *                       where  *                               TYPE        Indicates the specific TCP option type *                               LEN         Indicates the total    TCP option length, in octets, including  *                                                the option type & the option length octets *                               TCP OPT     Additional TCP option octets, if any, that contain the remaining *                                                TCP option information * *                   The following TCP option types are multi-octet TCP options where the option's second *                   octet specify the total TCP option length, in octets, including the option type & the *                   option length octets : * *                   (1) TYPE =  2   Maximum Segment Size        See RFC # 793, Section  3.1 'Header Format : *                                                                   Options : Maximum Segment Size'; *                                                                   RFC #1122, Section 4.2.2.6; *                                                                   RFC # 879, Section 3 * *                   (2) TYPE =  3   Window  Scale               See 'net_tcp.h  Note #1c1' *                   (3) TYPE =  4   SACK Allowed                See 'net_tcp.h  Note #1c2' *                   (4) TYPE =  5   SACK Option                 See 'net_tcp.h  Note #1c2' *                   (5) TYPE =  6   Echo Request                See 'net_tcp.h  Note #1c3' *                   (6) TYPE =  7   Echo Reply                  See 'net_tcp.h  Note #1c3' *                   (7) TYPE =  8   Timestamp                   See 'net_tcp.h  Note #1c4' * *           (3) TCP header allows for a maximum option list length of 40 octets : * *                   NET_TCP_HDR_OPT_SIZE_MAX = NET_TCP_HDR_SIZE_MAX - NET_TCP_HDR_SIZE_MIN * *                                            = 60 - 20 * *                                            = 40 * *           (4) 'NET_TCP_OPT_SIZE'  MUST be pre-defined PRIOR to all definitions that require TCP option  *                size data type. ********************************************************************************************************* */ /*$PAGE*/ #define  NET_TCP_HDR_OPT_END_LIST                          0u #define  NET_TCP_HDR_OPT_NOP                               1u #define  NET_TCP_HDR_OPT_MAX_SEG_SIZE                      2u #define  NET_TCP_HDR_OPT_WIN_SCALE                         3u #define  NET_TCP_HDR_OPT_SACK_PERMIT                       4u #define  NET_TCP_HDR_OPT_SACK                              5u #define  NET_TCP_HDR_OPT_ECHO_REQ                          6u #define  NET_TCP_HDR_OPT_ECHO_REPLY                        7u #define  NET_TCP_HDR_OPT_TS                                8u #define  NET_TCP_HDR_OPT_PAD                             NET_TCP_HDR_OPT_END_LIST #define  NET_TCP_HDR_OPT_LEN_END_LIST                      1u #define  NET_TCP_HDR_OPT_LEN_NOP                           1u #define  NET_TCP_HDR_OPT_LEN_MAX_SEG_SIZE                  4u #define  NET_TCP_HDR_OPT_LEN_WIN_SCALE                     3u #define  NET_TCP_HDR_OPT_LEN_SACK_PERMIT                   2u #define  NET_TCP_HDR_OPT_LEN_ECHO_REQ                      6u #define  NET_TCP_HDR_OPT_LEN_ECHO_REPLY                    6u #define  NET_TCP_HDR_OPT_LEN_TS                           10u #define  NET_TCP_HDR_OPT_LEN_SACK_MIN                      6u #define  NET_TCP_HDR_OPT_LEN_SACK_MAX                     38u #define  NET_TCP_HDR_OPT_LEN_MIN                           1u #define  NET_TCP_HDR_OPT_LEN_MIN_LEN                       2u #define  NET_TCP_HDR_OPT_LEN_MAX                          38u typedef  CPU_INT32U  NET_TCP_OPT_SIZE;                          /* TCP opt size data type (see Note #4).                */ #define  NET_TCP_HDR_OPT_SIZE_WORD               (sizeof(NET_TCP_OPT_SIZE)) #define  NET_TCP_HDR_OPT_SIZE_MAX                       (NET_TCP_HDR_SIZE_MAX - NET_TCP_HDR_SIZE_MIN) #define  NET_TCP_HDR_OPT_NBR_MIN                           0u #define  NET_TCP_HDR_OPT_NBR_MAX                        (NET_TCP_HDR_OPT_SIZE_MAX / NET_TCP_HDR_OPT_SIZE_WORD) #define  NET_TCP_HDR_OPT_IX                              NET_TCP_HDR_SIZE_MIN /*$PAGE*/ /* ********************************************************************************************************* *                                TCP OPTION CONFIGURATION TYPE DEFINES * * Note(s) : (1) NET_TCP_OPT_CFG_TYPE_&&& #define values specifically chosen as ASCII representations of  *               the TCP option configuration types.  Memory displays of TCP option configuration buffers  *               will display the TCP option configuration TYPEs with their chosen ASCII names. ********************************************************************************************************* */                                                                 /* ---------------- TCP OPT CFG TYPES ----------------- */ #if     (CPU_CFG_ENDIAN_TYPE == CPU_ENDIAN_TYPE_BIG) #define  NET_TCP_OPT_CFG_TYPE_NONE                0x4E4F4E45u   /* "NONE" in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE        0x4D535320u   /* "MSS " in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_WIN_SCALE           0x57494E20u   /* "WIN " in ASCII (see 'net_tcp.h  Note #1c1').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK_PERMIT         0x53434B50u   /* "SCKP" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK                0x5341434Bu   /* "SACK" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REQ            0x45524551u   /* "EREQ" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REPLY          0x4543484Fu   /* "ECHO" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_TS                  0x54532020u   /* "TS  " in ASCII (see 'net_tcp.h  Note #1c4').        */ #else #if     (CPU_CFG_DATA_SIZE   == CPU_WORD_SIZE_32) #define  NET_TCP_OPT_CFG_TYPE_NONE                0x454E4F4Eu   /* "NONE" in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE        0x2053534Du   /* "MSS " in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_WIN_SCALE           0x204E4957u   /* "WIN " in ASCII (see 'net_tcp.h  Note #1c1').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK_PERMIT         0x504B4353u   /* "SCKP" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK                0x4B434153u   /* "SACK" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REQ            0x51455245u   /* "EREQ" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REPLY          0x4F484345u   /* "ECHO" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_TS                  0x20205354u   /* "TS  " in ASCII (see 'net_tcp.h  Note #1c4').        */ #elif   (CPU_CFG_DATA_SIZE   == CPU_WORD_SIZE_16) #define  NET_TCP_OPT_CFG_TYPE_NONE                0x4F4E454Eu   /* "NONE" in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE        0x534D2053u   /* "MSS " in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_WIN_SCALE           0x4957204Eu   /* "WIN " in ASCII (see 'net_tcp.h  Note #1c1').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK_PERMIT         0x4353504Bu   /* "SCKP" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK                0x41534B43u   /* "SACK" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REQ            0x52455145u   /* "EREQ" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REPLY          0x43454F48u   /* "ECHO" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_TS                  0x53542020u   /* "TS  " in ASCII (see 'net_tcp.h  Note #1c4').        */ #else                                                           /* Dflt CPU_WORD_SIZE_08.                               */ #define  NET_TCP_OPT_CFG_TYPE_NONE                0x4E4F4E45u   /* "NONE" in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE        0x4D535320u   /* "MSS " in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_WIN_SCALE           0x57494E20u   /* "WIN " in ASCII (see 'net_tcp.h  Note #1c1').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK_PERMIT         0x53434B50u   /* "SCKP" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK                0x5341434Bu   /* "SACK" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REQ            0x45524551u   /* "EREQ" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REPLY          0x4543484Fu   /* "ECHO" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_TS                  0x54532020u   /* "TS  " in ASCII (see 'net_tcp.h  Note #1c4').        */ #endif #endif /*$PAGE*/ /* ********************************************************************************************************* *                                   TCP CONNECTION TIMEOUT DEFINES * * Note(s) : (1) (a) (1) RFC #1122, Section 4.2.2.13 'DISCUSSION' states that "the graceful close algorithm *                       of TCP requires that the connection state remain defined on (at least) one end of *                       the connection, for a timeout period of 2xMSL ... During this period, the (remote  *                       socket, local socket) pair that defines the connection is busy and cannot be reused". * *                   (2) The following sections reiterate that the TIME-WAIT state timeout scalar is two *                       maximum segment lifetimes (2 MSL) : * *                       (A) RFC #793, Section 3.9 'Event Processing : SEGMENT ARRIVES : *                               Check Sequence Number : TIME-WAIT STATE' *                       (B) RFC #793, Section 3.9 'Event Processing : SEGMENT ARRIVES : *                               Check FIN Bit         : TIME-WAIT STATE' * *               (b) (1) RFC #793, Section 3.3 'Sequence Numbers : Knowing When to Keep Quiet' states that *                       "the Maximum Segment Lifetime (MSL) is ... to be 2 minutes.  This is an engineering *                       choice, and may be changed if experience indicates it is desirable to do so". * *                   (2) Microsoft Corporation's Windows XP defaults MSL to 15 seconds. ********************************************************************************************************* */                                                                                     /* Max seg timeout (see Note #1b) : */ #define  NET_TCP_CONN_TIMEOUT_MAX_SEG_MIN_SEC   (  0u                           )   /* ... min  =  0 seconds            */ #define  NET_TCP_CONN_TIMEOUT_MAX_SEG_MAX_SEC   (  2u * DEF_TIME_NBR_SEC_PER_MIN)   /* ... max  =  2 minutes            */ #define  NET_TCP_CONN_TIMEOUT_MAX_SEG_DFLT_SEC  ( 15u                           )   /* ... dflt = 15 seconds            */ #define  NET_TCP_CONN_TIMEOUT_MAX_SEG_SCALAR       2u                               /* ... scalar (see Note #1a).       */ #define  NET_TCP_CONN_TIMEOUT_CONN_DFLT_SEC     (120u * DEF_TIME_NBR_SEC_PER_MIN)   /* Dflt conn timeout = 120 minutes  */ #define  NET_TCP_CONN_TIMEOUT_USER_DFLT_SEC     ( 30u * DEF_TIME_NBR_SEC_PER_MIN)   /* Dflt user timeout =  30 minutes  */ /*$PAGE*/ /* ********************************************************************************************************* *                                        TCP CONNECTION STATES * * Note(s) : (1) See the following RFC's for TCP state machine summary : * *               (a) RFC # 793; Sections 3.2, 3.4, 3.5, 3.9 *               (b) RFC #1122; Sections 4.2.2.8, 4.2.2.10, 4.2.2.11, 4.2.2.13, 4.2.2.18, 4.2.2.20 * *           (2) (a) #### Additional closing-data-available state used for closing connections to allow the *                   application layer to receive any remaining data. * *                   See also 'net_tcp.c  NetTCP_RxPktConnHandlerFinWait1()  Note #2f5A2', *                            'net_tcp.c  NetTCP_RxPktConnHandlerFinWait2()  Note #2f5B', *                            'net_tcp.c  NetTCP_RxPktConnHandlerClosing()   Note #2d2B2a1B', *                          & 'net_tcp.c  NetTCP_RxPktConnHandlerLastAck()   Note #2d2A1b'. ********************************************************************************************************* */ #define  NET_TCP_CONN_STATE_NONE                           0u #define  NET_TCP_CONN_STATE_FREE                           1u #define  NET_TCP_CONN_STATE_CLOSED                        10u #define  NET_TCP_CONN_STATE_LISTEN                        20u #define  NET_TCP_CONN_STATE_SYNC_RXD                      30u #define  NET_TCP_CONN_STATE_SYNC_RXD_PASSIVE              31u #define  NET_TCP_CONN_STATE_SYNC_RXD_ACTIVE               32u #define  NET_TCP_CONN_STATE_SYNC_TXD                      35u #define  NET_TCP_CONN_STATE_CONN                          40u #define  NET_TCP_CONN_STATE_FIN_WAIT_1                    50u #define  NET_TCP_CONN_STATE_FIN_WAIT_2                    51u #define  NET_TCP_CONN_STATE_CLOSING                       52u #define  NET_TCP_CONN_STATE_TIME_WAIT                     53u #define  NET_TCP_CONN_STATE_CLOSE_WAIT                    55u #define  NET_TCP_CONN_STATE_LAST_ACK                      56u #define  NET_TCP_CONN_STATE_CLOSING_DATA_AVAIL            59u   /* See Note #2a.                                        */ /* ********************************************************************************************************* *                                     TCP CONNECTION QUEUE STATES ********************************************************************************************************* */ #define  NET_TCP_RX_Q_STATE_NONE                           0u #define  NET_TCP_RX_Q_STATE_CLOSED                       100u #define  NET_TCP_RX_Q_STATE_CLOSING                      101u #define  NET_TCP_RX_Q_STATE_SYNC                         110u #define  NET_TCP_RX_Q_STATE_CONN                         111u #define  NET_TCP_TX_Q_STATE_NONE                           0u #define  NET_TCP_TX_Q_STATE_CLOSED                       200u #define  NET_TCP_TX_Q_STATE_CLOSING                      201u #define  NET_TCP_TX_Q_STATE_SYNC                         210u #define  NET_TCP_TX_Q_STATE_CONN                         211u #define  NET_TCP_TX_Q_STATE_SUSPEND                      215u #define  NET_TCP_TX_Q_STATE_CLOSED_SUSPEND               220u #define  NET_TCP_TX_Q_STATE_CLOSING_SUSPEND              221u /*$PAGE*/ /* ********************************************************************************************************* *                                     TCP CONNECTION CODE DEFINES **************

    標簽: tcp uCOS-II

    上傳時間: 2015-11-22

    上傳用戶:the same kong

  • LWIP的底層結(jié)構(gòu)

    Lwip協(xié)議棧的實現(xiàn)目的,無非是要上層用來實現(xiàn)app的socket編程。好,我們就從socket開始。為了兼容性,lwip的socket應(yīng)該也是提供標準的socket接口函數(shù),恩,沒錯,在src\inc lude\lwip\socket.h文件中可以看到下面的宏定義:#if LWIP COMPAT SOCKETS#define accept(a,b,c)Iwip accept(a,b,c)#define bind(a,b,c)Iwip bind(a,b,c)#define shutdown(a,b)Iwip shutdown(a,b)#define closesocket(s)Iwip close(s)好,這個結(jié)構(gòu)先不管它,接著看下get socket函數(shù)的實現(xiàn)【也是在src\api\socket.c文件中】,在這里我們看到這樣一條語句sock =&sockets[s];很明顯,返回值也是這個sock它是根據(jù)傳進來的序列號在sockets數(shù)組中找到對應(yīng)的元素并返回該元素的地址。好了,那么這個sockets數(shù)組是在哪里被賦值了這些元素的呢?進行到這里似乎應(yīng)該從標準的socket編程的開始,也就是socket函數(shù)講起,那我們就順便看一下。它對應(yīng)的實際實現(xiàn)是下面這個函數(shù)Int Iwip socket(int domain,int type,int protocol)【src\api\socket.c】這個函數(shù)根據(jù)不同的協(xié)議類型,也就是函數(shù)中的type參數(shù),創(chuàng)建了一個netconn結(jié)構(gòu)體的指針,接著就是用這個指針作為參數(shù)調(diào)用了alloc socket函數(shù),下面具體看下這個函數(shù)的實現(xiàn)

    標簽: lwip 底層結(jié)構(gòu)

    上傳時間: 2022-06-19

    上傳用戶:aben

  • 基于ARM的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)設(shè)計與實現(xiàn).rar

    近年來,隨著多媒體技術(shù)、計算機網(wǎng)絡(luò)與通信技術(shù)的的快速發(fā)展,傳統(tǒng)的監(jiān)控系統(tǒng)也不斷向著新的發(fā)展方向進行著不斷的更新與發(fā)展。進而隨著嵌入式技術(shù)的出現(xiàn)以及人們對降低監(jiān)控系統(tǒng)成本和提高可靠性的迫切需求,基于嵌入式系統(tǒng)的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)將成為新的研發(fā)熱點。 本文的目的是把嵌入式技術(shù)與計算機網(wǎng)絡(luò)技術(shù)相結(jié)合,構(gòu)造一個性能穩(wěn)定且具有較強處理能力的數(shù)字化遠程視頻監(jiān)控系統(tǒng)。該監(jiān)控系統(tǒng)以嵌入式Linux系統(tǒng)平臺作為服務(wù)器端,服務(wù)器程序在其上以后臺方式運行,等待監(jiān)控系統(tǒng)環(huán)境中的客戶機使用瀏覽器向其發(fā)送訪問請求,實現(xiàn)在局域網(wǎng)乃至Internet網(wǎng)上對攝像頭的遠程控制。 文中把系統(tǒng)設(shè)計分為三大部分:系統(tǒng)硬件設(shè)計、嵌入式Linux在硬件平臺的實現(xiàn)和系統(tǒng)軟件設(shè)計。硬件設(shè)計部分首先提出了整個硬件系統(tǒng)的實現(xiàn)方案,接著詳細介紹了S3C2410處理器與存儲器、以太網(wǎng)控制器芯片以及USB和串口的接口電路設(shè)計;第二部分詳細敘述了嵌入式Linux在本系統(tǒng)硬件平臺的移植實現(xiàn)及應(yīng)用程序的開發(fā)特點,重點講述了本系統(tǒng)平臺上Linux的引導(dǎo)加載程序Bootloader的設(shè)計過程;系統(tǒng)軟件部分首先介紹了USB接口攝像頭驅(qū)動在嵌入式Linux下的實現(xiàn),重點講述了Video4Linux下視頻采集的實現(xiàn),接著論述了如何實現(xiàn)圖像的JPEG壓縮,最后針對基于B/S模式的網(wǎng)絡(luò)通信系統(tǒng)結(jié)構(gòu),詳細闡述了網(wǎng)絡(luò)通信的具體實現(xiàn)過程和方法。 最后在辦公室局域網(wǎng)通過對系統(tǒng)測試,顯示了系統(tǒng)運行結(jié)果,實現(xiàn)了利用局域網(wǎng)或Internet網(wǎng)對遠程環(huán)境進行監(jiān)控的功能。

    標簽: ARM 網(wǎng)絡(luò)視頻監(jiān)控 系統(tǒng)設(shè)計

    上傳時間: 2013-07-04

    上傳用戶:lgnf

主站蜘蛛池模板: 冷水江市| 东丽区| 老河口市| 远安县| 壶关县| 延吉市| 南康市| 布拖县| 吴桥县| 青神县| 虹口区| 长宁县| 南开区| 赤水市| 新民市| 广东省| 南江县| 大余县| 凤凰县| 澄迈县| 当涂县| 阿拉善左旗| 隆安县| 阳西县| 临沂市| 平阴县| 屯门区| 西昌市| 迁安市| 增城市| 三穗县| 甘南县| 监利县| 会东县| 宽城| 乐清市| 封丘县| 沙湾县| 镇赉县| 宝应县| 濉溪县|