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

正文內(nèi)容

一個linux下基于電話線路的數(shù)據(jù)通信程序的設(shè)計與實現(xiàn)—免費計算機(jī)畢業(yè)設(shè)計論文-免費閱讀

2024-12-31 11:23 上一頁面

下一頁面
  

【正文】 ” 方新教授笑著回復(fù):“是腳指頭截去了,你老哥??”這時,機(jī)場已經(jīng)遙遙在望了。那是我們藏區(qū)特產(chǎn),它們已經(jīng)存在幾千萬年了,約在兩千年前流傳到希臘,后到羅馬帝國,又由東歐的斯拉夫族人傳到歐洲各國,至今世界名犬的體內(nèi)還保留著藏獒的研究理論“隔代大遺傳”是否有關(guān)。 ( 5)學(xué)??梢怨紝W(xué)位論文的全部或部分內(nèi)容(保密學(xué)位論文在解密后遵守此規(guī)定)。 第 24 頁 共 24頁 致 謝 本論文的工作是 2020 年 2 月至 2020 年 6月在成都信息工程學(xué)院網(wǎng) 絡(luò)工程系完成的。 這次畢 業(yè) 設(shè) 計 ,收獲頗多,無論是動手能力還是收集資料的能力都得到了增強(qiáng)。目前,很多超市收銀機(jī)使用的系統(tǒng)就與本設(shè)計類似。 WINDOWS 端使用 WIN 串口調(diào)試工具發(fā)送字符串, Linux 端可以完整接收,并且無差錯;同樣, Linux 端發(fā)送字符串, WINDOWS 端可以完整接收,并且無差錯。 (注:如果先啟動發(fā)送端,再啟動接收端,兩邊程序都會被阻塞。在進(jìn)行程序測試時 ,我只找到一臺外置 MODEM 和一臺內(nèi)置軟貓。options)。 [VMIN] = 1。 if( read_from_MODEM(OK) != 1 ) { /*第二次初始化 */ write_to_MODEM(ATE0V0\r, 7)。 amp。 //選擇 8 位數(shù)據(jù)傳輸 amp。 //獲得串口的設(shè)置 cfsetispeed(amp。接收處理完成之后,還需把接收到的字符返還給發(fā)送方。對方聽到鈴響,只要往串口寫入應(yīng)答命令 (ATA)即可使雙方建立起連接。 ◆ Vn 缺省值: 1 功能描述:結(jié)果碼格式。MODEM 的功能已經(jīng)很完善,除了二進(jìn)制數(shù)據(jù)傳輸以外,現(xiàn)在大部分 MODEM 都可以 第 15 頁 共 24頁 收發(fā)傳真,語音傳輸,加之 MODEM 對特殊環(huán)境的處理 (如專線撥號 ),使 MODEM的設(shè)置也變得非常繁雜。 )大多數(shù)情況下都不需要用 RTS/CTS 對通信進(jìn)行控制,所以認(rèn)為 RTS/CTS 總是有效的。一旦 MODEM 進(jìn)入在線狀態(tài),便可以忽略 MODEM 的存在,就好象兩臺計算機(jī)之間通過串口連接進(jìn)行數(shù)據(jù)通迅一樣。在命令狀態(tài)下 MODEM 以 AT 命令形式接受命令,例指示 MODEM去撥號或當(dāng)電話響鈴時給 予自動應(yīng)答。串口本身有 4K 的讀寫緩存,不同的計算機(jī)可能緩存大小不一樣。如果不想讓串口阻塞,則可以設(shè)置 ftl(fd, F_SETFL,FNDELAY),這時它與 MIN = 0, TIME = 0得到的結(jié)果相同。此時計時器會在每次收到字符的時候重新計時,且只在收到第一個字節(jié)后才啟動。 c_cc 的結(jié)構(gòu)是一個字符數(shù)組,它包含了控制字符和超時參數(shù)。 ECHO和 ECHOE 是關(guān)于回顯的選項,如果串口另一端也要求回顯的話,那就會造成串口兩端反饋死循環(huán),所以屏蔽它們。簡單講,串行設(shè)備有三種不同的的輸入方式,需要為程序選擇合適的工作方式: ◆ 標(biāo)準(zhǔn)輸入模式。 c_iflag、 c_lflag 和 c_oflag 設(shè)置 amp。 不同于波特率,沒有函數(shù)可以用來設(shè)置字符尺寸,需要使用比特掩碼的操作來完成。= ~CSIZE。option)將設(shè)置的內(nèi)容寫入計算機(jī)串口, option 是 termios 類型 第 10 頁 共 24頁 變量, TCSANOW 表明所有的改變立即生效,而不等待發(fā)送或者接收的數(shù)據(jù)結(jié)束。 如果不是以 root 身份登陸,在打開串口時,可能會發(fā)生權(quán)限不允 許的情況,這時候使用 chmod a+rw /dev/ttyS0 命令改變文件權(quán)限即可,或者直接用 root身份登陸。要訪問一個串行端口,只要像訪問文件一樣來訪問設(shè)備文件即可。 ttyS0 和 ttyS2使用同一個中斷 IRQ4, ttyS1 和 ttyS3 使用同一個中斷 IRQ3,所以如果同時使用了 ttyS0 和 ttyS2 或者 ttyS1 和 ttyS3,就必須重設(shè)它們的中斷才可以,幸運(yùn)的是,現(xiàn)在常見的設(shè)備都不使用串口,所以連接 56K MODEM 時,多數(shù)情況都不必再重設(shè)串口中斷,如果是外置 MODEM,則它占用的是 ttyS0,如果是內(nèi)置 MODEM,則它占用的很可能是 ttyS2。 本設(shè)計基于 Linux 操作系統(tǒng),利用 POSIX termios 函數(shù)控制計算機(jī)串口,通過 AT 命令初始化本地 MODEM 并讓本地 MMODEM 與異地 MODEM 進(jìn)行撥號連接。 命令 gcc 首先調(diào)用 cpp 進(jìn)行預(yù)處理,在預(yù)處理過程中,對源代碼文件中的文件包含 (include)、預(yù)編譯語句 (如宏定義 define 等 )進(jìn)行分析。這些命令和返回結(jié)果符合 RS232C 數(shù)據(jù)格式。 MODEM的分類和型號眾多,為了方便 Linux 操作系統(tǒng)設(shè)置,本次設(shè)計選用外置 56K MODEM。這可以是 1, , 或 2 位停止位在字符之間,始終是 1。起始位始終是一個 space (0),從而告訴計算機(jī)新的串行數(shù)據(jù)到來。 由于 RS232C 并未定義連接器的物理特性,因此,出現(xiàn)了 DB2 DB15和 DB9 各種類 型的連接器,其引腳的定義也各不相同,現(xiàn)在最常見的是 DB9連接器。 在 TxD 和 RxD 上: 這只是用于表示每秒能夠傳送的 1和 0的數(shù)量。在不同的類 UNIX 操作系統(tǒng)之間的最大差別是串口設(shè)備和鎖定文件的名字。通過完成本設(shè)計,既有助于深入了解計算機(jī)接口,又為硬件控制編程打下了一定基礎(chǔ),而且還能熟悉 Linux程序設(shè)計。 設(shè)計方法 本設(shè)計基于 Linux 操作系統(tǒng),用 POSIX termios 函數(shù)控制計算機(jī)串口,使用AT 指令操作 MODEM 進(jìn)行初始化及撥號連接,最后用一個自編的文件傳輸協(xié)議傳輸文件。相比較 Inter 網(wǎng)絡(luò),電話線網(wǎng)更安全,分布更廣泛。 計算機(jī) (DTE)與 MODEM(DCE)之間數(shù)據(jù)交換,以及計算機(jī)對 MODEM 的控制, 就 是計算機(jī)對串行端口的讀寫。電話已經(jīng)發(fā)展了一百多年,但互聯(lián)網(wǎng)只出現(xiàn)了不到五十年,英特網(wǎng)所分布的范圍遠(yuǎn)遠(yuǎn)比不上公用電話網(wǎng)。 AT 指令做為 MODEM 的標(biāo)準(zhǔn)化語言,提供了豐富的 MODEM 初始化、撥號、掛機(jī)等等命令, AT 命令簡單的操作方式,使 MODEM 控制變得很方便。, Digital UNIX174。 每位或者為 on 或者 off。 RS232C 常用于連接到一個 MODEM,其他擁有 RS232 接口的設(shè)備包括打印機(jī)、數(shù)據(jù)采模塊、測試裝置和控制回路。信號有效 (接通, ON 狀態(tài),正電壓 ) = +3V~ +15V。 這里 僅討論異步串行數(shù)據(jù)。 Space 校驗意味著校驗 始 終為 0,而 mark 校驗意味著校驗位始終為 1。計算機(jī)所能處理的數(shù)字信號不能直接進(jìn)入這樣的模擬通道, MODEM 就是用來實現(xiàn)數(shù)字信號和模擬信號相互轉(zhuǎn)換的設(shè)備。 AT 命令的建立使得 DTE(Data Terminal Equipment,用于發(fā)送和接收數(shù)據(jù)的數(shù)據(jù)終端設(shè)備 )從以上雜條中解脫出來,振鈴檢測、載波檢測、速率選擇等等都可以 由 MODEM 來完成。在 Linux 系統(tǒng)中,可執(zhí)行文件沒 有統(tǒng)一的后綴,系統(tǒng)從文件的屬性來區(qū)分可執(zhí)行文件和不可執(zhí)行文件。 gcc 編譯器的調(diào)用參數(shù)大約有 100 多個,其中多數(shù)參數(shù)可能根本就用不到 ,開發(fā)過程中使用最多的命令就是: gcc O test , 是 C 語言源程序, test 是可執(zhí)行文件, O 是 gcc 的參數(shù), 對程序進(jìn)行優(yōu)化編譯、連接,采用這個選項,整個源代碼會在編譯、連接過程中進(jìn)行優(yōu)化處理,這樣產(chǎn)生的可執(zhí)行 第 7 頁 共 24頁 文件的執(zhí)行效率可以提高,但是,編譯、連接的速度就相應(yīng)地要慢一些。但這兩部分并不獨立, MODEM 的初始化及撥號連接等等一切對 MODEM 的控 制和訪問,都要通過串口,因為串口是計算機(jī)與 MODEM 的唯一通道。 第 9 頁 共 24頁 VMware Workstation 中設(shè)備的使用很多都是真實的,不是模擬出來的。如果不指明這個,任何輸入都會影響此進(jìn)程。它定義了終端控制結(jié)構(gòu) termios 和POSIX 控制函數(shù)。options, B115200)。= ~CSTOPB。 CS8,~PARENB, ~CSTOPB 將把串行數(shù)據(jù)設(shè)置為:八位數(shù)據(jù)位,無奇偶校驗, 1 位停止位。 輸入模式成員 c_iflag 控制任何在端口接收字符的輸入處理, INPCK 和IGNPAR 分別代表校驗有效和忽略校驗錯誤,但是并沒有使用校驗位,所以屏蔽這兩項。 ◆ 等待來自多信號源的輸入。其余的項大多出于歷史原因要追溯到打印機(jī)和終端還不能和串行數(shù)據(jù)流保持一致的時候,現(xiàn)在已經(jīng)沒有使用價值了。 MIN 0, TIME = 0: 函數(shù)在讀到了 MIN值的字符數(shù)后返回。 TIME 的值的大小可以根據(jù)不同情況而定,但是不能太長,超過 30s 程序就會報錯,這里選擇的是 200(20s)。 讀寫串口 寫數(shù)據(jù)到串口是很簡單的,只需要使用 write()系統(tǒng)呼叫去傳送數(shù)據(jù): n = write(fd, “ ATZ/R” , 4)。 第 13 頁 共 24頁 MODEM 的控制 MODEM 的兩種工作狀態(tài) MODEM 的狀態(tài)可以分為命令狀態(tài)和在線狀態(tài)。 MODEM 接收并解釋 AT 命令, DET 只有在命令狀態(tài)才能對 MODEM 進(jìn)行控制。此時,若 DCE( MODEM)允許發(fā)送,則向 DTE回 答 DTE回答 CTS(允許發(fā)送 )信號。所以雖然上面述說了很多關(guān)于DTE 與 DCD 數(shù)據(jù)通信時握手的方法,但在前面的串口設(shè)置中已經(jīng)將其統(tǒng)統(tǒng)設(shè)置為總是有效,所以 在與 MODEM 通信時可以忽略它們。該命令控制 MODEM 在命令狀態(tài)打開或關(guān)閉 AT 命令回顯,很顯然命令回顯不利用對 MODEM 返回數(shù)據(jù)的判斷,所以關(guān)閉它。 這時候就可以讓 MODEM 撥號了, write(fd, “ ATDT12345678\r” , 13)。要實現(xiàn)傳送文件的功能,還需要打開文件,將文件中的字符一個一個的讀取出來等等文件操作的功能,這可以由 gcc中提供的文件操作庫函數(shù)來完成,而且這些存函數(shù)的功能非常強(qiáng)大。 ftl(fd, F_SETFL, 0)。 第 18 頁 共 24頁 amp。= ~(INPCK | IGNPAR |IXON |IXOFF |IXANY)。 //刷新數(shù)據(jù)線 tcsetattr(fd, TCSANOW, amp。 ftl(fd, F_SETFL, 0)。 } 當(dāng)撥號結(jié)束進(jìn)入數(shù)據(jù)通迅階段之后 ,還需要把串口設(shè)置恢復(fù) : void recover_port(void) { struct termios options。options)。這時環(huán)境搭建完畢,我先運(yùn)行接收程序,再運(yùn)行發(fā)送程序,這時候顯示數(shù)據(jù)通信開始。 我先在 WINDOWS 端發(fā)起撥號連接,半分鐘后 Linux 端振鈴響起 (我用了 IC卡,所以撥號過程有點漫長 )。這樣,不論兩臺電腦距離多遠(yuǎn),只要可以接到電話網(wǎng),并配有 56k MODEM,就可以互傳文件。說明有目的的、正確的搜索是非常重要的。 [5] Greg Serial HOWTO[EB/OL].,1997/2020。 ( 2)學(xué)校 可以采用影印、縮印或其他復(fù)制方式保存學(xué)位論文。他沒有讓他的父母失望,如今已是擁有千萬資產(chǎn)的公司老總,也是著名大學(xué)的教授,可謂名利俱盛,讓他起家的資本,不是別的,是犬?!彪娔X上在氣象局發(fā)來的橘紅色區(qū)域中又用更深的大紅色畫出一塊,從珠峰以北畫到錫金和尼泊爾境內(nèi)?!? “哦 ?”方新?!? 瑪瑞 滿腹狐疑,悻悻地去了,心里喃喃念叨著:“瘋了,教授一定是瘋了。 卓姆強(qiáng)巴,藏族,四十二歲,天獅名犬馴養(yǎng)基地公司總裁,也是復(fù)旦大學(xué)生物系客座教授,主講世界名犬。 本文是在劉云本老師的熱情關(guān)心和指導(dǎo)下完成的,他淵博的知識和嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)使我受益匪淺,對順利完成本課題起到了極大的作用。 [3] 求是科技 ,李現(xiàn)勇 .Visual C++串口通信技術(shù)與工程實踐 [M].北京:人民郵電出版社 ,2020。我覺得最大的益處是我學(xué)會了搜索資料的方法,體會到了網(wǎng)絡(luò)上資料的豐富。上面的測試 ,已經(jīng)證明在雙方連接成功的情況下 ,可以進(jìn)行字符串的傳輸 ,所以基于單個字符傳輸?shù)奈募魉蛥f(xié)議也可以正常工作。將兩臺電腦上的 MODEM 分別與兩根電話線接連,硬件環(huán)境就搭建完畢。一臺電腦設(shè)為接收端 (main 函數(shù)中調(diào)用 receive_file() ),另一臺電腦設(shè)為發(fā)送端 (main 函數(shù)中調(diào)用 send_file() ),編譯連接。 tcflush(fd, TCIFLUSH)。 tcsetattr(fd, TCSANOW, amp。 } } return 1。 [VTIME] = 200。= ~CSTOPB。options, B115200)。在新數(shù)據(jù)高 4位中: bit4|bit5 = 00,表示是新的數(shù)據(jù); bit4|bit5 = 01,表示是重新發(fā)送的數(shù)據(jù); bit4
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1