freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)論文-嵌入式web服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)(參考版)

2025-06-06 01:24本頁面
  

【正文】 嵌入式系統(tǒng)工程專業(yè) 畢業(yè)設(shè)計(jì)(論文) 28 參考文獻(xiàn) [1] 劉文濤 胡家寶 單片機(jī)與嵌入式系統(tǒng)應(yīng)用 [2] 龍依然 ATMEGA128 的功能特點(diǎn) [3] 陳建華 楊玲 基于 PXA270 嵌入式 Web 服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn) [4] 無憂電子開發(fā)網(wǎng) 基于單片機(jī)的嵌入式 WEB 服務(wù)器的研究 [5]李艷紅 ,李國 .嵌入式 Inter 的實(shí)現(xiàn)方法淺析與應(yīng)用 [J].計(jì)算 機(jī)工程 ,2021,7:184185 [6]韓光潔 ,趙海 .Embedded Inter 環(huán)境下 體系結(jié)構(gòu)的研 究與實(shí)現(xiàn) [J].通信學(xué)報(bào) , 2021,9(25):6365 [7]韓光潔 ,趙海 .Embedded Inter 技術(shù)及其綜述 [J].小型微型計(jì) 算機(jī)系統(tǒng) ,2021,25(5):798801 [8] SED1335 控制器圖形液晶顯示模塊使用手冊 [M].北京 :北京精電 蓬遠(yuǎn) 公司 ,2021,3:56 。在人生的道路上不斷進(jìn)取! 在畢業(yè)論文的完成過程中,我首先要感謝我的指導(dǎo) 老師的耐心指導(dǎo)! 他嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣 ,沒有他的幫助和提供資料對(duì)于我來說要想在短短的幾個(gè)月的時(shí)間里學(xué)習(xí)到 這些 知識(shí)并完成畢業(yè)論文是幾乎不可能的事情 。嵌入式系統(tǒng)工程專業(yè) 畢業(yè)設(shè)計(jì)(論文) 27 謝辭 兩年多來,在校領(lǐng)導(dǎo)和老師的引導(dǎo)下,我努力學(xué)好專業(yè)知識(shí),訓(xùn)練專業(yè)技能,專業(yè)水平每一年都有明顯提高,調(diào)整知識(shí)結(jié)構(gòu)的同時(shí),擴(kuò)充了視野,我掌握了計(jì)算機(jī)的操作,熟悉互聯(lián)網(wǎng)運(yùn)用。客戶端瀏覽器從響應(yīng)報(bào)文中提取 Web 頁面數(shù)據(jù)并顯示,顯示結(jié)果為如圖 所示。 } 當(dāng)服務(wù)器收到 HTTP 請(qǐng)求后,檢查 文件是否存在,如果不存在則返回錯(cuò)誤信息。 /* 刪除此連接 */ conn_delete(newconn)。嵌入式系統(tǒng)工程專業(yè) 畢業(yè)設(shè)計(jì)(論文) 26 while(1) { /* 接收一個(gè)新的連接 */ newconn = conn_accept(conn)。 /* 使該連接進(jìn)入偵聽狀態(tài) */ conn_listen(conn)。 /*創(chuàng)建一個(gè)新的 TCP 連接 */ conn = conn_new(NETCONN_TCP)。 /*關(guān)閉網(wǎng)絡(luò)連接 */ conn_close(conn)。) { /* 發(fā)送 HTTP 頭部 */ conn_write(conn, HTTP_HTML_HEAD, sizeof(HTTP_HTML_HEAD))。rq[6] == 39。 amp。 rq[5] == 39。 amp。 rq[4] == 39。 amp。 rq[3] == 39。 amp。rq[2] == 39。 amp。 rq[1] == 39。 amp。 /* 檢查請(qǐng)求為 HTTP GET /\r\n. */ if(rq[0] == 39。rq, amp。 inbuf = conn_recv(conn)。 char *rq。 WEB 服務(wù)器端的應(yīng)用程序主要代碼如下: 無錫科技職業(yè)學(xué)院 INT8S conn_write (struct conn *conn, void *dataptr, INT16U size)。 struct buf * conn_recv (struct conn *conn)。 INT8S conn_listen (struct conn *conn)。 INT8S conn_bind (struct conn *conn, struct ip_addr *addr, INT16U port)。 struct conn * conn_new (enum conn_type type)。 }。 sys_mbox_t acceptmbox。 sys_mbox_t mbox。 enum conn_state state。 }。嵌入式系統(tǒng)工程專業(yè) 畢業(yè)設(shè)計(jì)(論文) 24 struct ip_addr *fromaddr。 struct buf { /*網(wǎng)絡(luò)數(shù)據(jù)緩存結(jié)構(gòu)體 */ struct pbuf *p, *ptr。該應(yīng)用程序通過 API 函數(shù)實(shí)現(xiàn),其中包含兩個(gè)主要的函數(shù): main( )函數(shù)主要負(fù)責(zé)一些初始化工作和網(wǎng)路連接的建立,process_connection( )負(fù)責(zé)處理 HTTP 請(qǐng)求的響應(yīng)工作。最后將組裝好的完整的 HTTP 應(yīng)答報(bào)文發(fā)送回客戶 端。 應(yīng)答數(shù)據(jù)報(bào)文的實(shí)體部分包含動(dòng)態(tài)讀取的頁面文件。應(yīng)答報(bào)文 的協(xié)議版本號(hào)、應(yīng)答狀態(tài)碼、應(yīng)答狀態(tài)碼說明是一些相對(duì)固定的信息,接收的元信息部分的數(shù)據(jù)不是必需的,故可以只給出部分確定的信息(如服務(wù)器類型、內(nèi)容類型等)。嵌入式系統(tǒng)工程專業(yè) 畢業(yè)設(shè)計(jì)(論文) 23 但在本設(shè)計(jì)中處理與否對(duì)系統(tǒng)性能影響很小,因此也不做處理。本文的設(shè)計(jì)方案中, Web 服務(wù)器只接受GET 請(qǐng)求方法。下面分析嵌入式 Web 服務(wù)器端如何對(duì)請(qǐng)求數(shù)據(jù)報(bào)文進(jìn)行處理,并將數(shù)據(jù)封裝后返回頁面。建立的嵌入式 Web 服務(wù)器 HTTP 連接的流程圖如圖 所示。嵌入式系統(tǒng)工程專業(yè) 畢業(yè)設(shè)計(jì)(論文) 22 p align=\center\a href= 點(diǎn) 擊 進(jìn) 入 a/pbr\ p align=\center\嵌入式實(shí) 驗(yàn)室 /pbr\ /body\ /html” 4..4 嵌入式 Web 服務(wù)器的工作流程 在 181。 HTTP 頭部代碼和該頁面的 HTML 代碼如下: const static char HTTP_HTML_HEAD[] =Contenttype: text/html\r\n\r\n。一般把缺省頁面的文件 (如 )作為 EEPROM 中的第一個(gè)文件,以方便查找。 實(shí)際使用的時(shí)候還應(yīng)該編制 EEPROM 本身的讀寫函數(shù)以及操作文件系統(tǒng)的API 函數(shù)。 /* 文件的校驗(yàn)和 ,可選 */ char name[ROM_FILENEME_LEN ]。 /* 文件內(nèi)容的長度 ,以字節(jié)為單位 */ unsigned long start。 EEPROM 上的文件系統(tǒng)一般采用自定義的文件系統(tǒng)格式,具體方法有很多,基本上大同小異,本質(zhì)就是自定義一個(gè)文件結(jié)構(gòu)來存儲(chǔ)文件的相關(guān)信息,以后根據(jù)這個(gè)文件結(jié)構(gòu)訪問所要求的文件。一般按一定的文件格式,保存在外圍 EEPROM 中,文件格式可以自定義或采用標(biāo)準(zhǔn)的文件格式。在響應(yīng)用戶的請(qǐng)求時(shí),嵌入式Web 服務(wù)器要產(chǎn)生真正有用的 Web 頁面,我們不可能簡單 地在程序中用語句來按HTTP 語法逐一產(chǎn)生頁面,比較明智的做法是把網(wǎng)頁文件保存起來,在需要的時(shí)無錫科技職業(yè)學(xué)院這種方式的使用,提高了處理器讀取存儲(chǔ)器的效率,減小了系統(tǒng)的響應(yīng)時(shí)間。每次包含 GET 方法的請(qǐng)求數(shù)據(jù)報(bào)文到達(dá)時(shí),先將報(bào)文的元信息部分記錄下來存放到 EEPROM 中。每次請(qǐng)求 HTTP數(shù)據(jù)報(bào)文到達(dá)時(shí),先解析是否為 GET 方法,如果不是 GET 方法則不做處理。 在本系統(tǒng)的設(shè)計(jì)方案中,考慮到該嵌入式系統(tǒng)只提供瀏覽信息的作用,所以嵌入式 Web 服務(wù)器僅接受 GET 請(qǐng)求方法, GET 方法用于客戶端獲取頁面文件。 響應(yīng)報(bào)文的格式是: statusline headers(0個(gè)或有多個(gè) ) blank line body statusline 的格式是: HTTP 版本號(hào) responsecode responsephrase 在己經(jīng)建立 TCP 連接的基礎(chǔ)上,一個(gè) HTTP 會(huì)話包括兩個(gè)過程:客戶端發(fā)送請(qǐng)求數(shù)據(jù)報(bào)文, Web 服務(wù)器端完成相應(yīng)動(dòng)作并發(fā)送應(yīng)答數(shù)據(jù)報(bào)文。使用 POST 請(qǐng)求時(shí)需要在報(bào)文首部無錫科技職業(yè)學(xué)院 (3) POST 請(qǐng)求用來發(fā)送電子郵件、新聞或發(fā)送能由交互用戶填寫的表格。 (2) HEAD 請(qǐng)求,類似于 GET 請(qǐng)求,但服務(wù)器程序只返回指定文檔的首部信息,而不包含實(shí)際的文檔內(nèi)容。 HTTP 報(bào)文有兩種類型:請(qǐng)求和響應(yīng)。本程序主要解析消息的起始行,而忽略其它內(nèi)容,這種處理思路也 符合嵌入式系統(tǒng)硬件對(duì)軟件實(shí)現(xiàn)的復(fù)雜度要求。因此通過在網(wǎng)頁程序中加入 標(biāo)記,使瀏覽器在無用戶干預(yù)下周期性地刷新頁面,從而保證用戶及時(shí)地獲得遠(yuǎn)程現(xiàn)場的信息。斷開連接。瀏覽器發(fā)出請(qǐng)求報(bào)文 。DNS 解析地址并將結(jié)果返回給瀏覽器 。在基于 HTTP 的客戶 /服務(wù)器數(shù)據(jù)交換時(shí),當(dāng) HTTP 請(qǐng)求產(chǎn)生時(shí),就開始一次 HTTP 通信。 靜態(tài) Web頁面 MCU HTML生成器 Form解析器 HTTP引擎 TCP/IP協(xié)議棧 嵌入式 WEB服務(wù)器 客戶端瀏覽器 無錫科技職業(yè)學(xué)院客戶和服務(wù)器間的中間節(jié)點(diǎn)不對(duì) HTTP 請(qǐng)求及響應(yīng)做任何操作,只需在客戶端采用 IE 瀏覽器就可以對(duì) 服務(wù)器上的數(shù)據(jù)進(jìn)行瀏覽訪問,不用開發(fā)客戶端程序。 圖 嵌入式 Web 服務(wù)器系統(tǒng)模型 Browser/Server(簡稱 B/S)模式已經(jīng)成為流行的開發(fā)模式,本課題中的嵌入式 WEB服務(wù)器要實(shí)現(xiàn)的功能主要是現(xiàn)場實(shí)時(shí)數(shù)據(jù)發(fā)布的功能。一個(gè)典型的頁面可能含有許多單獨(dú)的 HTT 請(qǐng)求,如 基本頁面請(qǐng)求、每個(gè) HTML 框架請(qǐng)求、每個(gè)圖形請(qǐng)求等。 HTTP 協(xié)議是 WEB 應(yīng)用的標(biāo)準(zhǔn)協(xié)議,其已經(jīng)從 發(fā)展到 ,性能有很大改變,增加了緩存功能,同志就是 TCP 連接形式的改變。 無錫科技職業(yè)學(xué)院驅(qū)動(dòng)程序工作在 IP協(xié)議模型的網(wǎng)絡(luò)接口層,它提供給上層( IP 層)的接口函數(shù) 以上的函數(shù)都可以分為協(xié)議棧本身的處理和對(duì)網(wǎng)絡(luò)接口硬件 的操作兩部份,但硬件操作是對(duì)上層屏蔽的,具體參見 RTL8019as、 DM9008 等 Ne2k 網(wǎng)絡(luò)芯片的數(shù)據(jù)手冊。 LwIP 調(diào)用 ne2kif的方法 ifinput()及 ifoutput()進(jìn)行以太網(wǎng) packet 的收、發(fā)等操作。LwIPsource etlwiparchucosII etif 中的 文件即為驅(qū)動(dòng)的模板, 用戶為自己的網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)驅(qū)動(dòng)時(shí)應(yīng)參照此模板。所以目前實(shí)現(xiàn)的網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)是針對(duì)Ne2k 的,其它類型的網(wǎng)絡(luò)芯片驅(qū)動(dòng)可以在 LwIP 的網(wǎng)站上找到。 //內(nèi)存數(shù)據(jù)塊之間的互相拷貝 void bzero(void *data, int n)。 //字符無錫科技職業(yè)學(xué)院 int strlen(const char *str)。 u32_t htonl(u32_t n)。 lib_arch中庫函數(shù)的實(shí)現(xiàn) LwIP 協(xié)議棧中用到了 8個(gè)外部函數(shù),這些函數(shù)通常與用戶使用的系統(tǒng)或編譯器有關(guān),如下: u16_t htons(u16_t n)。需要注意的是 LwIP 中的 thread 并沒有181。C/OS II 中,沒有線程( thread)的概念,只有任務(wù)( Task)。這時(shí)就需要用戶實(shí)現(xiàn)創(chuàng)建新線程的函數(shù): void sys_thread_new(void (* thread)(void *arg), void *arg)。 (4) sys_thread_new 創(chuàng)建新線程 LwIP 可以是單線程運(yùn)行,即只有一個(gè) tcpip 線程( tcpip_thread),負(fù)責(zé)處理所有的 tcp/ucp 連接,各種網(wǎng)絡(luò)程序都通過 tcpip 線程與網(wǎng)絡(luò)交互。 timeout 結(jié)構(gòu)體已經(jīng)由 LwIP 自己在 中定義好了,而且對(duì)結(jié)構(gòu)體隊(duì)列的數(shù)據(jù)操作也由 LwIP 負(fù)責(zé),我們所要實(shí)現(xiàn)的是如下函數(shù): struct sys_timeouts * sys_arch_timeouts(void) 這個(gè)函數(shù)的功能是返回目前正處于運(yùn)行態(tài)的線程所對(duì)應(yīng)的 timeout 隊(duì)列指針。這個(gè)屬性表現(xiàn)為每個(gè)線程都對(duì)應(yīng)一個(gè) sys_timeout 結(jié)構(gòu)體隊(duì)列,包括這個(gè)線程的 timeout 時(shí)間長度,以及超時(shí)后應(yīng)調(diào)用 的 timeout 函數(shù),該函數(shù)會(huì)做一些釋放連接,回收資源的工作。 (3) sys_arch_timeout 函數(shù) LwIP 中每個(gè)與外界網(wǎng)絡(luò)連接的線程都有自己的 timeout 屬性,即等待超時(shí)無錫科技職業(yè)學(xué)院C/OSII自己的 OSQ 操作完成,然后使用 181。 void* pvQEntries[MAX_QUEUE_ENTRIES]。C/OSII 的基礎(chǔ)上
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1