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

正文內(nèi)容

[信息與通信]基于嵌入式webserer的溫度采集系統(tǒng)的設(shè)計(jì)-閱讀頁

2025-02-02 12:21本頁面
  

【正文】 須停止把I/O引腳驅(qū)動(dòng)至低電平。、: DS18B20的寫時(shí)間片時(shí)序圖 DS18B20的讀時(shí)間片時(shí)序圖 電路設(shè)計(jì)DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊,硬件電路非常簡單。通過使用一個(gè)MOSFET把I/O線直接拉到電源可達(dá)到這一點(diǎn)。另一種供電方法是通過使用連接到VDD引腳的外接電源,這種方法不要求在I/O線上有強(qiáng)的上拉。 溫度采集設(shè)計(jì)框圖5 軟件設(shè)計(jì) 軟件設(shè)計(jì)主要是指webserver模塊和溫度采集模塊的程序設(shè)計(jì)。 webserverWebserver滿足C/S模式,使用HTTP協(xié)議,通過基于流的socket連接為客戶提供各種操作。本設(shè)計(jì)的webserver具有CGI功能,能返回動(dòng)態(tài)網(wǎng)頁。HTTP是一個(gè)屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,由于其簡捷、快速的方式,適用于分布式超媒體信息系統(tǒng)。目前在WWW中使用的是HTTP/,HTTP/,而且HTTPNG(Next Generation of HTTP)的建議已經(jīng)提出??蛻舳讼蚍?wù)器發(fā)送一個(gè)請求,請求頭包含請求的方法、URI、協(xié)議版本,以及包含請求修飾符、客戶信息和內(nèi)容的類型類似于MIME的消息結(jié)構(gòu)。通常HTTP消息包括客戶機(jī)向服務(wù)器的請求消息和服務(wù)器向客戶機(jī)的響應(yīng)消息。HTTP的頭域包括通用頭、請求頭、響應(yīng)頭和實(shí)體頭4個(gè)部分。域名是大小寫無關(guān)的,值域前可以添加任何數(shù)量的空格符,頭域可以被擴(kuò)展為多行,在每行開始處,使用至少一個(gè)空格或制表符。公共網(wǎng)關(guān)接口CGI(Common Gateway Interface)是擴(kuò)展Web服務(wù)器功能的一種接口,通過它可與訪問Web頁面用戶進(jìn)行交互。CGI定義了程序與Web服務(wù)器進(jìn)行通信的標(biāo)準(zhǔn)方法。 客戶端、服務(wù)器、。當(dāng)客戶端的用戶完成了一定輸入工作之后向服務(wù)器發(fā)出HTTP請求(稱為CGI請求)。在外部CGI程序與服務(wù)器間建立兩條數(shù)據(jù)通道標(biāo)準(zhǔn)I/O,然后啟動(dòng)URL指定的CGI程序,并與該子進(jìn)程保持同步,以監(jiān)測CGI程序的執(zhí)行狀態(tài)。發(fā)出請求執(zhí)行程序客戶機(jī)Web服務(wù)器CGI程序返回文檔生成HTTP文件 CGI程序與服務(wù)器通信 Socket 編程Socket是使用 標(biāo)準(zhǔn)Unix 文件描述符 (file descriptor) 和其它程序通訊的方式。一個(gè)文件描述符只是一個(gè)和打開的文件相關(guān)聯(lián)的整數(shù)。當(dāng)與Internet上別的程序通訊的時(shí)候,要使用到這個(gè)文件描述符,這個(gè)文件描述符是通過系統(tǒng)調(diào)用socket()得到的。數(shù)據(jù)報(bào)socket定義了一種無連接的服務(wù),數(shù)據(jù)通過相互獨(dú)立的報(bào)文進(jìn)行傳輸,是無序的,并且不保證是可靠、無差錯(cuò)的,它使用數(shù)據(jù)報(bào)協(xié)議UDP。216。在建立了socket連接之后,可對socketadd或sockaddr_in進(jìn)行初始化,以保存所建立的socket信息。 bind:該函數(shù)是用于將本地IP地址綁定端口號的,若綁定其他地址則不能成功。216。216。當(dāng)用在TCP時(shí),可以在connect函數(shù)建立連接之后再用。 sendto和recvfrom:這兩個(gè)函數(shù)的作用與send和recv函數(shù)類似,也可以用在TCP和UDP中。, 使用TCP協(xié)議socket編程流程圖 使用UDP協(xié)議socket編程流程圖 多線程和多進(jìn)程1)多進(jìn)程當(dāng)運(yùn)行任何一個(gè)UNIX命令時(shí),shell至少會(huì)建立一個(gè)進(jìn)程來運(yùn)行這個(gè)命令,所以可以把任何在UNIX系統(tǒng)中運(yùn)行的程序叫做進(jìn)程;但是進(jìn)程并不是程序,程序是靜態(tài)的,它是一些保存在磁盤上的指令的有序集合,沒有任何執(zhí)行的概念;而進(jìn)程是一個(gè)動(dòng)態(tài)的概念,它是程序執(zhí)行的過程,包括了動(dòng)態(tài)創(chuàng)建、調(diào)度和消亡的整個(gè)過程,它是程序執(zhí)行和資源管理的最小單位。系統(tǒng)中每一個(gè)進(jìn)程都包含一個(gè)task_struct數(shù)據(jù)結(jié)構(gòu),所有指向這些數(shù)據(jù)結(jié)構(gòu)的指針組成一個(gè)進(jìn)程向量數(shù)組,系統(tǒng)缺省的進(jìn)程向量數(shù)據(jù)大小是512,表示系統(tǒng)中可同時(shí)容納512個(gè)進(jìn)程。Linux進(jìn)程在內(nèi)存中包含三部分?jǐn)?shù)據(jù):代碼段、堆棧段和數(shù)據(jù)段。代碼段可以為機(jī)器中運(yùn)行同一程序的數(shù)個(gè)進(jìn)程共享。而數(shù)據(jù)段則存放程序的全局變量、常數(shù)以及動(dòng)態(tài)數(shù)據(jù)分配的數(shù)據(jù)空間(比如用malloc函數(shù)申請的內(nèi)存)。在linux中,進(jìn)程由fock函數(shù)創(chuàng)建,fock函數(shù)調(diào)用一次卻返回兩次;在父進(jìn)程中返回子進(jìn)程的ID,在子進(jìn)程中返回0,這是因?yàn)楦高M(jìn)程可能存在很多過子進(jìn)程,所以必須通過這個(gè)返回的子進(jìn)程ID來跟蹤子進(jìn)程,而子進(jìn)程只有一個(gè)父進(jìn)程,他的ID可以通過getppid取得。而運(yùn)行于一個(gè)進(jìn)程中的多個(gè)線程,它們彼此之間使用相同的地址空間,共享大部分?jǐn)?shù)據(jù),啟動(dòng)一個(gè)線程所花費(fèi)的空間遠(yuǎn)遠(yuǎn)小于啟動(dòng)一個(gè)進(jìn)程所花費(fèi)的空間,而且,線程間彼此切換所需的時(shí)間也遠(yuǎn)遠(yuǎn)小于進(jìn)程間切換所需要的時(shí)間。對不同進(jìn)程來說,它們具有獨(dú)立的數(shù)據(jù)空間,要進(jìn)行數(shù)據(jù)的傳遞只能通過通信的方式進(jìn)行,這種方式不僅費(fèi)時(shí),而且很不方便。在linux中,通過使用函數(shù)pthread_create用來創(chuàng)建一個(gè)線程,它有四個(gè)參數(shù),第一個(gè)參數(shù)為指向線程標(biāo)識(shí)符的指針,第二個(gè)參數(shù)用來設(shè)置線程屬性,通常設(shè)為空指針來設(shè)置默認(rèn)屬性,第三個(gè)參數(shù)是線程運(yùn)行函數(shù)的起始地址,即線程函數(shù)的函數(shù)名,最后一個(gè)參數(shù)是運(yùn)行函數(shù)的參數(shù),通常設(shè)為空指針。管道分為有名管道和無名管道,無名管道只能用于親屬進(jìn)程之間的通信,而有名管道則可用于無親屬關(guān)系的進(jìn)程之間。寫入的內(nèi)容每次都添加在管道緩沖區(qū)的末尾,并且每次都是從緩沖區(qū)的頭部讀出數(shù)據(jù)。FIFO不同于管道之處在于它提供一個(gè)路徑名與之關(guān)聯(lián),以FIFO的文件形式存在于文件系統(tǒng)中。值得注意的是,F(xiàn)IFO嚴(yán)格遵循先進(jìn)先出(first in first out),對管道及FIFO的讀總是從開始處返回?cái)?shù)據(jù),對它們的寫則把數(shù)據(jù)添加到末尾。由于本設(shè)計(jì)使用的文件系統(tǒng)是ROMFS,是一個(gè)只讀文件系統(tǒng),無法生成文件,所以采用了無名管道進(jìn)行通信。即一端只能用于讀,由描述字fd[0]表示,稱其為管道讀端;另一端則只能用于寫,由描述字fd[1]來表示,稱其為管道寫端。一般文件的I/O函數(shù)都可以用于管道,如close、read、write等等。這樣,webserver便可以同時(shí)處理多個(gè)客戶端發(fā)來的連接請求。client_sockaddr,amp。 exit(1)。id,NULL,(void*)thread,accept_fd)。 exit(1)。在處理連接線程中,采用了多進(jìn)程技術(shù)。溫度采集,獲取系統(tǒng)時(shí)間和控制開發(fā)板上LED模塊都作為webserver的子進(jìn)程由webserver產(chǎn)生的,多進(jìn)程并發(fā)執(zhí)行,子進(jìn)程將執(zhí)行的結(jié)果返回給webserver,由webserver通過網(wǎng)絡(luò)傳給客戶端。 exit(0)。//用vfork()函數(shù)產(chǎn)生子進(jìn)程 if(pid==1) { perror(vfork failed)。 } else if(pid==0)//如果是子進(jìn)程,則啟動(dòng)溫度采集程序,并將結(jié)果寫進(jìn)管道 { ......//啟動(dòng)溫度采集程序,溫度數(shù)據(jù)保存在buffer中 if((wr=write(pipe_fd[1],buffer,2048))==1) { printf(write error!\n)。 } exit(0)。 bytesSent=send(socket_fd,sendbuf,strlen(sendbuf),0)。 exit(0)。 printf(%s\n,sendbuf)。 bytesSent=send(socket_fd,sendbuf,strlen(sendbuf),0)。控制DS18B20時(shí),要按照其協(xié)議:初始化、ROM操作命令、存儲(chǔ)器操作命令、處理數(shù)據(jù)。主機(jī)收到DS18B20的存在脈沖后,進(jìn)行ROM操作,只有進(jìn)行了某種ROM操作后,DS18B20的特定功能才能被訪問。由于單總線結(jié)構(gòu),DS18B20對延時(shí)要求非常嚴(yán)格,所以編寫程序就必須嚴(yán)格按照DS18B20的延時(shí)規(guī)定,這是編寫DS18B20控制程序要注意的地方。//DS18B20初始化 while(1) { if(flag==1) { break。 } writeb(0xcc)。//轉(zhuǎn)換溫度 PCONC=0x55。//將P2設(shè)為高電平 usleep(5)。//DS18B20初始化 while(1) { if(flag==1) { break。 } writeb(0xcc)。//輸入讀取溫度命令 a=readbyte()。: 溫度采集子進(jìn)程流程圖6 實(shí)現(xiàn)結(jié)果 本設(shè)計(jì)實(shí)現(xiàn)了一個(gè)基于嵌入式webserver的溫度采集系統(tǒng),其中嵌入式webserver為核心,它能夠被用戶訪問,具有CGI功能,顯示靜態(tài)和動(dòng)態(tài)網(wǎng)頁。 實(shí)現(xiàn)結(jié)果a webserver主頁b 顯示圖片c 與用戶交互d 返回webserver系統(tǒng)時(shí)間e 返回采集到的現(xiàn)場溫度本設(shè)計(jì)將嵌入式技術(shù)和網(wǎng)絡(luò)技術(shù)結(jié)合,使溫度采集具有網(wǎng)絡(luò)功能,并利用CGI技術(shù)實(shí)現(xiàn)設(shè)備參數(shù)及現(xiàn)場數(shù)據(jù)與嵌入式Web服務(wù)器之間的動(dòng)態(tài)交互。當(dāng)然,由于時(shí)間緊迫,本設(shè)計(jì)還有許多需要完善的地方。可以在webserver中加入含有表格的動(dòng)態(tài)網(wǎng)頁,用戶在表格中選擇采集溫度的不同地點(diǎn),webserver根據(jù)用戶不同要求返回不同地點(diǎn)的溫度。 結(jié)論以ARM為核心的微處理器以其高性能、低成本和低功耗等特點(diǎn),占據(jù)了32位嵌入式處理器領(lǐng)域的大部分市場,它廣泛應(yīng)用于工業(yè)控制、無線通信、網(wǎng)絡(luò)應(yīng)用、消費(fèi)類電子產(chǎn)品和安全產(chǎn)品領(lǐng)域中。本設(shè)計(jì)即實(shí)現(xiàn)了基于嵌入式webserver的溫度采集系統(tǒng),其以ARM處理器為硬件平臺(tái),將uClinux操作系統(tǒng)移植其中,用C語言編寫的webserver程序在uClinux下運(yùn)行。用戶通過瀏覽器可以瀏覽遠(yuǎn)程嵌入式webserver中的資源,同時(shí)可以通過webserver調(diào)用溫度采集程序,利用ARM處理器控制數(shù)字溫度計(jì)芯片DS18B20采集溫度,webserver將溫度數(shù)據(jù)通過網(wǎng)絡(luò)返回給用戶。致謝首先要感謝我的指導(dǎo)老師楊揚(yáng)老師在本次畢業(yè)設(shè)計(jì)過程中給了我悉心的指導(dǎo)和幫助,在我每次遇到難題的時(shí)候,楊老師總能給我點(diǎn)睛指導(dǎo),指引我去解決問題,而每次指導(dǎo)都如撥云見日,使我茅塞頓開。在整個(gè)畢業(yè)設(shè)計(jì)過程中還有許多老師和同學(xué)給予了我無私的幫助和支持,在此向他們表示由衷的謝意。參考文獻(xiàn)[1]劉崢嶸, 張智超, 許鎮(zhèn)山等. 嵌入式Linux 應(yīng)用開發(fā)詳解. 北京: 機(jī)械工業(yè)出版社, 2005[2]李巖, 榮盤祥. 基于S3C44B0X嵌入式ucLinux 系統(tǒng)原理及應(yīng)用. 北京: 清華大學(xué)出版社, 2005[3]:人民郵電出版社, 2007[4] : 人民郵電出版社, 2007[5]王學(xué)龍 .嵌入式Linux , 2001[6]Tim [M].北京:電子工業(yè)出版社, 2003.[7]李磊, 楊柏林, 胡維華. 嵌入式Web 服務(wù)器軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì), 2003,24(10):100101.[8]張曦煌, 服務(wù)器中CGI 的特點(diǎn)及實(shí)現(xiàn)[J].小型微型計(jì)算機(jī)系統(tǒng), 2003,24(11):20462047[9]常速,祝朋,[J].工業(yè)控制計(jì)算機(jī), 2002,15(8):1718[10](第三版).北京:清華大學(xué)出版社,2005[11]劉天時(shí),強(qiáng)新建,王瑞,曹慶年. :北京航空航天大學(xué)出版社,2007[12]:北京航空航天大學(xué)出版社,2005[13]: 人民郵電出版社, 2006[14]: 人民郵電出版社, 2007[15]趙星寒,周春來,: 北京航空航天大學(xué)出版社,2006[16]:清華大學(xué)出版社,1998[17]魯倩等. 精品網(wǎng)頁制作. 北京: 清華大學(xué)出版社, 1998[18]賈明,嚴(yán)世賢. Linux下的C編程[M ]. 北京:人民郵電出版社, 2001.[19]林宇,[M].北京:人民郵電出版社,2000[20]James ,Keith :高等教育出版社,2005[21]Jonn Rinaldi,Perry S. Marshall,Distributing Control with Etherent and TCP/IP[ J ] ,Sensors Magazine ,2002. (7) : 117122.外文翻譯譯文第一章 產(chǎn)品概述介紹三星公司的S3C44B0X16/32位RISC微處理器的設(shè)計(jì)目的是為手持設(shè)備和一般應(yīng)用提供一個(gè)低成本、高性能的微控制器解決方案。該S3C44B0X用ARM7TDMI核開發(fā)。而且S3C44B0X采用一種新的總線架構(gòu)SAMBA II (SAMSUNG ARM CPU embedded Microcontroller Bus Architecture)。ARM7TDMI的結(jié)構(gòu)上的提高包括Thumb depressor,一個(gè)片上的ICE中斷調(diào)試支持,以及一個(gè)32位的硬件乘法器。完整的片上功能在如下文檔中描述:l 具有8 V靜態(tài)ARM7TDMI的CPU核。(FP/EDO/SDRAM控制,芯片選擇邏輯) l 具有1通道液晶顯示器專用DMA的液晶顯示控制器(最多為256色DSTN )。s ARM CPU embedded Microcontroller Bus Architecture)系統(tǒng)管理器l 支持小/
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1