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

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

Win<b>dos</b>

  • 微機燈光控制系統

    一、實驗目的1.掌握定時/計數器、輸入/輸出接口電路設計方法。    2.掌握中斷控制編程技術的方法和應用。3.掌握8086匯編語言程序設計方法。 二、實驗內容與要求 微機燈光控制系統主要用于娛樂場所的彩燈控制。系統的彩燈共有12組,在實驗時用12個發光二極管模擬。1. 基本要求:燈光控制共有8種模式,如12個燈依次點亮;12個燈同時閃爍等八種。系統可以通過鍵盤和顯示屏的人機對話,將8種模式進行任意個數、任意次序的連接組合。系統不斷重復執行輸入的模式組合,直至鍵盤有任意一個鍵按下,退出燈光控制系統,返回DOS系統。2. 提高要求:音樂彩燈控制系統,根據音樂的變化控制彩燈的變化,主要有以下幾種:第一種為音樂節奏控制彩燈,按音樂的節拍變換彩燈花樣。第二種音律的強弱(信號幅度大小)控制彩燈。強音時,燈的亮度加大,且被點亮的數目增多。第三種按音調高低(信號頻率高低)控制彩燈。低音時,某一部分燈點亮;高音時,另一部分點亮。 三、實驗報告要求 1.設計目的和內容 2.總體設計 3.硬件設計:原理圖(接線圖)及簡要說明 4.軟件設計框圖及程序清單5.設計結果和體會(包括遇到的問題及解決的方法) 四、設計原理我們以背景霓虹燈的一種顯示效果為例,介紹控制霓虹燈顯示的基本原理。設有一排 n 段水平排列的霓虹燈,某種顯示方式為從左到右每0.2 秒逐個點亮。其控制過程如下: 若以“ 1 ”代表霓虹燈點亮,以“ 0 ”代表霓虹燈熄滅,則開始時刻, n 段霓虹燈的控制信號均為“ 0 ”,隨后,控制器將一幀 n 個數據送至 n 段霓虹燈的控制端,其中,最左邊的一段霓虹燈對應的控制數據為“ 1 ”,其余的數據均為零,即 1000 … 000 。當 n 個數據送完以后,控制器停止送數,保留這種狀態(定時) 0.2 秒,此時,第 1 段霓虹燈被點亮,其余霓虹燈熄滅。隨后,控制器又在極短的時間內將數據 1100 … 000 送至霓虹燈的控制端,并定時 0.2 秒,這段時間,前兩段霓虹燈被點亮。由于送數據的過程很快,我們觀測到的效果是第一段霓虹燈被點亮 0.2 秒后,第 2 段霓虹燈接著被點亮,即每隔 0.2 秒顯示一幀圖樣。如此下去,最后控制器將數據 1111 … 111 送至 n 段霓虹燈的控制端,則 n 段霓虹燈被全部點亮。 只要改變送至每段霓虹燈的數據,即可改變霓虹燈的顯示方式,顯然,我們可以通過合理地組合數據(編程)來得到霓虹燈的不同顯示方式。 五、總體方案論證分析系統設計思路如下:1) 采集8位開關輸入信號,若輸入數據為0時,將其修改為1。確定輸入的硬件接口電路。采樣輸入開關量,并存入NUM的軟件程序段。2) 以12個燈依次點亮為例(即燈光控制模式M1),考慮與其相應的燈光顯示代碼數據。確定顯示代碼數據輸出的接口電路。輸出一個同期顯示代碼的軟件程序段(暫不考慮時隙的延時要求)。3) 應用定時中斷服務和NUM數據,實現t=N×50ms的方法。4) 實現某一種模式燈光顯示控制中12個時隙一個周期,共重復四次的控制方法。要求在初始化時采樣開關輸入數據NUM,并以此控制每一時隙的延時時間;在每一時隙結束時,檢查有無鍵按下,若是退出鍵按下,則結束燈光控制,返回DOS系統,若是其他鍵就返回主菜單,重新輸入控制模式數據。5) 通過人機對話,輸入8種燈光顯示控制模式的任意個數、任意次序連接組合的控制模式數據串(以ENTER鍵結尾)。對輸入的數據進行檢查,若數據都在1 - 8之間,則存入INBUF;若有錯誤,則通過屏幕顯示輸入錯誤,準備重新輸入燈光顯示控制模式數據。6) 依次讀取INBUF中的控制模式數據進行不同模式的燈光顯示控制,在沒有任意鍵按下的情況下,系統從第一個控制模式數據開始,順序工作到最后一個控制模式數據后,又返回到第一個控制模式數據,不斷重復循環進行燈光顯示控制。7) 本系統的軟件在總體上有兩部份,即主程序(MAIN)和實時中斷服務程序(INTT)。討論以功能明確、相互界面分割清晰的軟件程序模塊化設計方法。即確定有關功能模塊,并畫出以功能模塊表示的主程序(MAIN)流程框圖和定時中斷服務程序的流程框圖。    六、硬件電路設計   以微機實驗平臺和PC機資源為硬件設計的基礎,不需要外加電路。主要利用了以下的資源:1.8255并行口電路8255并行口電路主要負責數據的輸入與輸出,可以輸出數據控制發光二極管的亮滅和讀取乒乓開關的數據。實驗時可以將8255的A口、B口和一組發光二極管相連,C口和乒乓開關相連。2.8253定時/計數器8253定時/計數器和8259中斷控制器一起實現時隙定時。本設計的定時就是采用的t=N×50ms的方法,50ms由8253定時/計數器的計數器0控制定時,N是在中斷服務程序中軟件計時。8253的OUT0接到IRQ2,產生中斷請求信號。8253定時/計數器定時結束會發出中斷信號,進入中斷服務程序。3.PC機資源本設計除了利用PC機作為控制器之外,還利用了PC機的鍵盤和顯示器。鍵盤主要是輸入控制模式數據,顯示器就是顯示提示信息。   七、軟件設計   軟件主要分為主程序(MAIN)和中斷服務程序(INTT),主程序包含系統初始化、讀取乒乓開關、讀取控制模式數據以及按鍵處理等模塊。中斷服務程序主要是定時時間到后根據控制模式數據點亮相應的發光二極管。1.主程序主程序的程序流程圖如圖1所示。

    標簽: 微機 燈光控制

    上傳時間: 2014-04-05

    上傳用戶:q986086481

  • 單片機應用技術選編9

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

    標簽: 單片機 應用技術

    上傳時間: 2014-04-14

    上傳用戶:gtf1207

  • dxp2004教程-附安裝方法

    附件有二個文當,都是dxp2004教程 ,第一部份DXP2004的相關快捷鍵,以及中英文對照的意思。第二部份細致的講解的如何使用DXP2004。 dxp2004教程第一部份: 目錄 1 快捷鍵 2 常用元件及封裝 7 創建自己的集成庫 12 板層介紹 14 過孔 15 生成BOM清單 16 頂層原理圖: 16 生成PCB 17 包地 18 電路板設計規則 18 PCB設計注意事項 20 畫板心得 22 DRC 規則英文對照 22 一、Error Reporting 中英文對照 22 A : Violations Associated with Buses 有關總線電氣錯誤的各類型(共 12 項) 22 B :Violations Associated Components 有關元件符號電氣錯誤(共 20 項) 22 C : violations associated with document 相關的文檔電氣錯誤(共 10 項) 23 D : violations associated with nets 有關網絡電氣錯誤(共 19 項) 23 E : Violations associated with others 有關原理圖的各種類型的錯誤 (3 項 ) 24 二、 Comparator 規則比較 24 A : Differences associated with components 原理圖和 PCB 上有關的不同 ( 共 16 項 ) 24 B : Differences associated with nets 原理圖和 PCB 上有關網絡不同(共 6 項) 25 C : Differences associated with parameters 原理圖和 PCB 上有關的參數不同(共 3 項) 25 Violations  Associated withBuses欄 —總線電氣錯誤類型 25 Violations Associated with Components欄 ——元件電氣錯誤類型 26 Violations Associated  with documents欄 —文檔電氣連接錯誤類型 27 Violations Associated with Nets欄 ——網絡電氣連接錯誤類型 27 Violations Associated with Parameters欄 ——參數錯誤類型 28 dxp2004教程第二部份 路設計自動化( Electronic Design Automation ) EDA 指的就是將電路設計中各種工作交由計算機來協助完成。如電路圖( Schematic )的繪制,印刷電路板( PCB )文件的制作執行電路仿真( Simulation )等設計工作。隨著電子工業的發展,大規模、超大規模集成電路的使用是電路板走線愈加精密和復雜。電子線路 CAD 軟件產生了, Protel 是突出的代表,它操作簡單、易學易用、功能強大。 1.1 Protel 的產生及發展 1985 年 誕生 dos 版 Protel 1991 年 Protel for Widows 1998 年 Protel98 這個 32 位產品是第一個包含 5 個核心模塊的 EDA 工具 1999 年 Protel99 既有原理圖的邏輯功能驗證的混合信號仿真,又有了 PCB 信號完整性 分析的板級仿真,構成從電路設計到真實板分析的完整體系。 2000 年 Protel99se 性能進一步提高,可以對設計過程有更大控制力。 2002 年 Protel DXP 集成了更多工具,使用方便,功能更強大。 1.2 Protel DXP 主要特點 1 、通過設計檔包的方式,將原理圖編輯、電路仿真、 PCB 設計及打印這些功能有機地結合在一起,提供了一個集成開發環境。 2 、提供了混合電路仿真功能,為設計實驗原理圖電路中某些功能模塊的正確與否提供了方便。 3 、提供了豐富的原理圖組件庫和 PCB 封裝庫,并且為設計新的器件提供了封裝向導程序,簡化了封裝設計過程。 4 、提供了層次原理圖設計方法,支持“自上向下”的設計思想,使大型電路設計的工作組開發方式成為可能。 5 、提供了強大的查錯功能。原理圖中的 ERC (電氣法則檢查)工具和 PCB 的 DRC (設計規則檢查)工具能幫助設計者更快地查出和改正錯誤。 6 、全面兼容 Protel 系列以前版本的設計文件,并提供了 OrCAD 格式文件的轉換功能。 7 、提供了全新的 FPGA 設計的功能,這好似以前的版本所沒有提供的功能。

    標簽: 2004 dxp 教程 安裝方法

    上傳時間: 2015-01-01

    上傳用戶:zhyfjj

  • 加密算法 Test Driver for Crypto++, a C++ Class Library of Cryptographic Primitives: - To generate an

    加密算法 Test Driver for Crypto++, a C++ Class Library of Cryptographic Primitives: - To generate an RSA key cryptest g - To encrypt and decrypt a string using RSA cryptest r - To calculate MD5, SHS, and RIPEMD-160 message digests: cryptest m file - To encrypt and decrypt a string using DES-EDE in CBC mode: cryptest t - To encrypt or decrypt a file cryptest e|d input output - To share a file into shadows: cryptest s <pieces> <pieces-needed> file (make sure file has no extension, if you re running this under DOS) - To reconstruct a file from shadows: cryptest j output file1 file2 [....] - To gzip a file: cryptest z <compression-level> input output - To gunzip a file: cryptest u input output - To run validation tests: cryptest v - To run benchmarks: cryptest b [time for each benchmark in seconds]

    標簽: Cryptographic Primitives generate Library

    上傳時間: 2015-07-16

    上傳用戶:wqxstar

  • 分區表備份器 miniTO 源碼 現傳上源碼...希望能對正學習DOS,WINDOWS,磁盤和編程者有點幫助... 內含純DOS,WIN32控制臺和WIN32 GUI三個版本.它們生成的備份文

    分區表備份器 miniTO 源碼 現傳上源碼...希望能對正學習DOS,WINDOWS,磁盤和編程者有點幫助... 內含純DOS,WIN32控制臺和WIN32 GUI三個版本.它們生成的備份文件可以在任何版本中使用. WIN32 GUI版本暫使用備份功能(其他模塊也都已全部寫好,全是完整的,現在僅開啟備份功能),如果想使用還原替換和比較功能,可自行打開調用的開關或加幾句調用的代碼就可以了, 一會兒我再把它們加上去,... (在WIN,打印功能是不能使用直接使用DOS的代碼的,要把它們先送到編輯框的緩沖區再顯示的...有興趣的也可自己弄...) 因剛剛從DOS代碼轉寫成WIN,程序提示還沒有完全改寫成WIN的,printf()等還留在里面,不過對編譯沒有影響,有時間可以改寫掉, 因時間關系,沒有詳細的注釋,不過在寫的時候,變量名字基本是根據其功能起的,所以,對程序的代碼思路還是不難理解的

    標簽: DOS WIN WINDOWS miniTO

    上傳時間: 2015-10-05

    上傳用戶:戀天使569

  • 現傳上源碼...希望能對正學習DOS,WINDOWS,磁盤和編程者有點幫助... 內含純DOS,WIN32控制臺和WIN32 GUI三個版本.它們生成的備份文件可以在任何版本中使用. DOS版

    現傳上源碼...希望能對正學習DOS,WINDOWS,磁盤和編程者有點幫助... 內含純DOS,WIN32控制臺和WIN32 GUI三個版本.它們生成的備份文件可以在任何版本中使用. DOS版具有全部功能 WIN版控制臺 暫未開啟打印功能 WIN版GUI 暫未開啟比較和打印功能 WIN32 版本的暫未開啟的功能的模塊都是完整的,如果想使用,可自行打開調用的開關或加幾句調用的代碼就可以了, 以后有時間我再把它們加上去,...) (在WIN,打印功能是不能使用直接使用DOS的代碼的,要把它們先送到編輯框的緩沖區再顯示的...有興趣的也可自己弄...) 因剛剛從DOS代碼轉寫成WIN,程序提示還沒有完全改寫成WIN的,printf()等還留在里面,不過對編譯沒有影響,有時間可以改寫掉, 因時間關系,沒有詳細的注釋,不過在寫的時候,變量名字基本是根據其功能起的,所以,對程序的代碼思路還是不難理解的

    標簽: DOS WIN WINDOWS 32

    上傳時間: 2015-10-08

    上傳用戶:leixinzhuo

  • 一般情況下

    一般情況下,我們都是在MATLAB命令行或DOS命令行下編譯MEX程序。 所用的命令就是:mex filename.c 這有很多不方便的地方: a. 雖然mex也可以編譯C++的mex程序,但是它的主框架仍是C的 a. 當程序有多個模塊時,需要多次使用mex命令,操作很麻煩 b. 不能利用VC特有的ClassWizard自動創建和維護類 c. 不能用MFC類庫編寫應用程序 d. 不能方便地進行類似VC的項目管理 本文詳細解說如何在IDE中編譯MEX程序

    標簽:

    上傳時間: 2016-01-05

    上傳用戶:shizhanincc

  • 設計要求: (1). 在 1-- 8樓之間一次可輸入多個任意樓層號連續控制電梯按指定樓層號順序上升與下降.以上過程完成后可重新輸入任意樓層號連續控制電梯按指定樓層號順序上升與下降.只有按ESC鍵才

    設計要求: (1). 在 1-- 8樓之間一次可輸入多個任意樓層號連續控制電梯按指定樓層號順序上升與下降.以上過程完成后可重新輸入任意樓層號連續控制電梯按指定樓層號順序上升與下降.只有按ESC鍵才退出程序返回DOS狀態。例如 : 1-3-5-7-6-4-2-1 (可觀察教十樓電梯的實際運行情況). (2). 在 1 -- 7 樓之間按任意順序不連續控制電梯上升與下降. 按一次計算機鍵盤的上箭頭電梯上升一樓,按一次計算機鍵盤的下箭頭電梯下降一樓. (上箭頭的ASCII碼19H , 下箭頭的ASCII碼1AH . ) (3). 在電梯上升與下降過程中,要顯示出 1--7 樓之間所要到達的樓層數,同時還要用箭頭顯示電梯是上升狀態還是下降狀態. (4). 電梯運行到指定樓層后,打開電梯門,然后關門繼續運行. (5). 電梯運行時, 在任意時刻遇到緊急情況時應能實時中斷電梯運行.也可以在任意時刻恢復電梯運行.(按A/a 鍵模擬中斷發生,電梯停止運行.按B/b 鍵恢復電梯運行) (6). 在計算機屏幕上將電梯的平面模型改成三維立體模型. (7). 在電梯旁畫一個小方塊.這個小方塊隨電梯上升而上升,下降而下降.以增加電梯運行時的動感.

    標簽: ESC 輸入 控制 電梯

    上傳時間: 2017-02-07

    上傳用戶:天誠24

  • 編譯源文件生成可執行文件TestLibjpeg.exe

    編譯源文件生成可執行文件TestLibjpeg.exe, 此程序可以轉換bmp位圖為jpg格式,或解壓縮 jpg格式圖像為bmp格式。 將需轉換的bmp格式圖片存到和TestLibjpeg.exe 相同的文件夾下,在DOS界面下使用命令行參數 bmp到jpeg的轉換使用:TestLibjpeg.exe j 原圖片名.bmp 目標圖片名.jpg jpeg到bmp的轉換使用:TestLibjpeg.exe b 原圖片名.jpg 目標圖片名.bmp

    標簽: TestLibjpeg exe 編譯 可執行文件

    上傳時間: 2014-02-07

    上傳用戶:chenjjer

  • 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

主站蜘蛛池模板: 辛集市| 富川| 贵南县| 灵璧县| 十堰市| 紫金县| 响水县| 耒阳市| 浮梁县| 正宁县| 浦城县| 基隆市| 扎囊县| 肥东县| 宝清县| 德化县| 泸定县| 达孜县| 南郑县| 墨竹工卡县| 寻甸| 陇川县| 潮州市| 湛江市| 历史| 沂源县| 衡南县| 太保市| 西乌珠穆沁旗| 大同县| 扬中市| 都江堰市| 门源| 阳高县| 安龙县| 浏阳市| 嘉善县| 宁武县| 琼结县| 双桥区| 清苑县|