




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、目 錄TOC o 1-2 h z u HYPERLINK l _Toc201730061 摘要 PAGEREF _Toc201730061 h III HYPERLINK l _Toc201730062 Abstract PAGEREF _Toc201730062 h V HYPERLINK l _Toc201730063 第一章 串行行通信的介紹紹1 HYPERLINK l _Toc201730064 1.1 串行通通信方式1 HYPERLINK l _Toc201730065 1.2 串行通通信的傳送方方向2 HYPERLINK l _Toc201730066 1.3 串行輸輸入/輸出2
2、HYPERLINK l _Toc201730067 1.4 串行接接口標(biāo)準(zhǔn)2 HYPERLINK l _Toc201730068 第2章 串口編編程技術(shù)5 HYPERLINK l _Toc201730069 2.1 串口實(shí)實(shí)現(xiàn)雙機(jī)互聯(lián)聯(lián)系統(tǒng)功能概概述5 HYPERLINK l _Toc201730070 2.2 VB串串口查詢法的的實(shí)現(xiàn)方法5 HYPERLINK l _Toc201730071 第3章 SPCCP通信協(xié)議議設(shè)計9 HYPERLINK l _Toc201730072 3.1 串行通通信協(xié)議9 HYPERLINK l _Toc201730073 3.2 SPCCP協(xié)議的發(fā)發(fā)送格式1
3、3 HYPERLINK l _Toc201730074 第4章 雙機(jī)互互聯(lián)程序的實(shí)實(shí)現(xiàn)15 HYPERLINK l _Toc201730075 4.1 創(chuàng)建標(biāo)標(biāo)準(zhǔn)的項目文文件15 HYPERLINK l _Toc201730076 4.2 加入串串口通信控件件15 HYPERLINK l _Toc201730077 4.3 設(shè)計程程序主窗體16 HYPERLINK l _Toc201730078 第5章 程序的的測試與運(yùn)行行21 HYPERLINK l _Toc201730079 5.1 軟件及及硬件測試21 HYPERLINK l _Toc201730080 5.2 總結(jié)24 HYPERLI
4、NK l _Toc201730081 附錄25PAGE 50PAGE VII串口實(shí)現(xiàn)雙機(jī)通通信摘要計算機(jī)串口編程程在通信軟件件中有著十分分廣泛的應(yīng)用用,如電話、傳傳真、視頻和和控制等。很很多行業(yè)會涉涉及到串口通通信技術(shù)。串串行通信中分分為異步通信信和同步通信信兩種基本串串行通信方式式,串行通信信在兩個設(shè)備備之間傳輸,有有單工、半雙雙功、全雙工工三種形式。在本論文中,串串口實(shí)現(xiàn)雙機(jī)機(jī)互聯(lián)是通過過串口線直接接連接兩臺計計算機(jī),按照照自定義的串串口通信協(xié)議議(簡稱為SSPCP)進(jìn)進(jìn)行信息交換換。通過VBB中MSCoomm控件處處理底層串口口通信細(xì)節(jié),根根據(jù)自定義串串口通信協(xié)議議建立連接,實(shí)實(shí)現(xiàn)聊天和
5、文文件傳輸功能能。關(guān)鍵字:VB,串口通通信,SPCCP,數(shù)據(jù)交交換。serial commuunicattionAbstracctSerial compuuter pprograammingg in tthe coommuniicatioons sooftwarre hass a veery wiide raange oof appplicattions, suchh as ttelephhone, fax, videoo and contrrol. MMany iindusttries wouldd invoolve sseriall commmunicaation technnologii
6、es. SSeriall commmunicaation is diividedd intoo asynnchronnous ccommunnicatiions aand syynchroonous commuunicattion aare twwo bassic seerial commuunicattion, seriaal commmuniccationn betwween tthe twwo traansmisssion equippment, a siingle-workeers, hhalf-dduplexx, fulll-dupplex tthree formss.In this
7、s papeer, too achiieve ddoublee-seriial-liine Innterneet dirrectlyy throough tthe seerial port to coonnectt two compuuters, in aaccorddance with the ccustomm of sseriall commmunicaation protoocol (referrred tto as SPCP) for inforrmatioon excchangee. VB MSCommm conntrol throuugh trreatmeent inn the b
8、ottoom of seriaal commmuniccationn detaails, accorrding to cuustom seriaal commmuniccationn prottocol to coonnectt, andd chatt and file transsfer ffeaturre.Keywordd: VB, seriial coommuniicatioon, SPPCP, ddata eexchannge.PAGE 49第一章 串行行通信的介紹紹 串行通信方方式 在計算機(jī)與外設(shè)設(shè)之間的信息息傳送中,按按照一次傳送送數(shù)據(jù)的位數(shù)數(shù)分類,可分分為:并行傳傳送方式和串串行
9、傳送方式式。并行傳送送方式為數(shù)據(jù)據(jù)的各位同時時傳送;串行行傳送方式為為數(shù)據(jù)的各位位按一定的順順序逐位分時時傳送。串行行傳送適用于于長距離通信信系統(tǒng)及各類類計算機(jī)網(wǎng)絡(luò)絡(luò)。由于信息息在一個方向向上傳輸只占占用一根傳輸輸線,而這根根線上既傳送送數(shù)據(jù),又傳傳送聯(lián)絡(luò)信號號,為此為區(qū)區(qū)分這根線傳傳送的信息流流中,哪一部部分是聯(lián)絡(luò)信信號,哪一部部分是數(shù)據(jù),就就必須引出串串行通信的一一系列約定。于于是,在串行行通信中就有有異步通信和和同步通信兩兩種基本串行行通信方式。 異步通信 異步通信有字符符格式和波特特率兩項約定定。字符格式:傳送送一個字符總總是從傳送一一位起始位(00)開始,接接著傳輸字符符本身(58位
10、),傳傳送字符從最最低位開始,逐逐位傳送,直直至到傳送最最高位,接著著傳送奇/偶偶校驗位,最最后傳送1位位或1個半位位或2位停止止位(1)。從從起始位開始始到停止位結(jié)結(jié)束,構(gòu)成一一幀信息。一一幀信息傳送送完畢后,可可傳送不定長長度的空閑位位(1),作作為幀與相鄰鄰幀之間的間間隔,也可以以沒有空閑位位間隔。 波特率:是單位位時間內(nèi)傳送送二進(jìn)制數(shù)據(jù)據(jù)的位數(shù),以以位/秒為單單位,即波特特。異步通信信傳送速度一一般在509600波波特范圍內(nèi),用用于傳送信息息量不大,傳傳送速度要求求較低場合。 同步通信 同步通信中使用用的數(shù)據(jù)格式式根據(jù)所采用用的控制規(guī)程程(通信雙方方就如何交換換信息所建立立的一些規(guī)定定
11、和過程稱為為通信控制規(guī)規(guī)程)又可分分為面向字符符型和面向位位(比特)型型兩種。面向字符型的數(shù)數(shù)據(jù)格式又有有單同步、雙雙同步、外同同步之分。單同步:發(fā)送方方先傳送1個個同步字符,再再傳送數(shù)據(jù)塊塊,接收方檢檢測到同步字字符后接收數(shù)數(shù)據(jù);雙同步:發(fā)送方方先傳送2個個同步字符,再再傳送數(shù)據(jù)塊塊,接收方檢檢測到同步字字符后接收數(shù)數(shù)據(jù);外同步:用一條條專用線來傳傳送同步字符符,以實(shí)現(xiàn)收收發(fā)雙方同步步操作。三種種同步方式,均均以2個字節(jié)節(jié)的冗余檢驗驗碼CRC作作為一幀信息息的結(jié)束。面向位型:根據(jù)據(jù)IBM的同同步數(shù)據(jù)鏈路路控制規(guī)程SSDLC,SSDLC數(shù)據(jù)據(jù)格式,同步步傳送,接收收和發(fā)送時鐘鐘對于收/發(fā)發(fā)雙方
12、之間的的數(shù)據(jù)傳送達(dá)達(dá)到同步是至至關(guān)重要的。在在發(fā)送方,一一般都是在發(fā)發(fā)送時鐘的下下降沿將數(shù)據(jù)據(jù)串行移位輸輸出;在接收收方,一般都都是在接收時時鐘的上升沿沿將數(shù)據(jù)串行行移位輸入。 串行通信的的傳送方向 串行通通信在兩個站站(或設(shè)備)AA和B之間傳傳送,有單工工、半雙工、全全雙工三種形形式。 單工:僅能進(jìn)行行一個方向的的傳送,即AA只能作為發(fā)發(fā)送器,B只只能作為接收收器; 半雙工工: 能交替替地進(jìn)行雙向向數(shù)據(jù)傳送,但但兩設(shè)備之間間只有一根傳傳輸線,因此此兩個方向的的數(shù)據(jù)傳送不不能同時進(jìn)行行; 全雙工工: A、BB之間有兩條條傳輸線,能能在兩個方向向上同時進(jìn)行行數(shù)據(jù)傳送。 串行輸入/輸出 串行輸入的
13、特點(diǎn)點(diǎn):串行數(shù)據(jù)據(jù)傳輸中,每每次只傳送一一位數(shù)據(jù),速速度比并行傳傳輸慢。但是是,實(shí)現(xiàn)串行行傳輸?shù)挠布哂薪?jīng)濟(jì)性性和實(shí)用性的的特點(diǎn)。 串行接口標(biāo)標(biāo)準(zhǔn)RS-232、RRS-4222與RS-4485都是串串行數(shù)據(jù)接口口標(biāo)準(zhǔn),最初初都是由電子子工業(yè)協(xié)會(EEIA)制訂訂并發(fā)布的.RS-2332、RS-422與RRS-4855標(biāo)準(zhǔn)只對接接口的電氣特特性做出規(guī)定定,而不涉及及接插件、電電纜或協(xié)議,在在此基礎(chǔ)上用用戶可以建立立自己的高層層通信協(xié)議。 RS-232串串行接口標(biāo)準(zhǔn)準(zhǔn)目前RS-232是PPC機(jī)與通信信工業(yè)中應(yīng)用用最廣泛的一一種串行接口口。RS-2232被定義義為一種在低低速率串行通通訊中增加通通
14、訊距離的單單端標(biāo)準(zhǔn)。RRS-2322采取不平衡衡傳輸方式,即即所謂單端通通訊。收、發(fā)發(fā)端的數(shù)據(jù)信信號是相對于于信號地.典典型的RS-232信號號在正負(fù)電平平之間擺動,在在發(fā)送數(shù)據(jù)時時,發(fā)送端驅(qū)驅(qū)動器輸出正正電平在+55+15VV,負(fù)電平在在-5-115V電平。當(dāng)當(dāng)無數(shù)據(jù)傳輸輸時,線上為為TTL,從從開始傳送數(shù)數(shù)據(jù)到結(jié)束,線線上電平從TTTL電平到到RS-2332電平再返返回TTL電電平。接收器器典型的工作作電平在+33+12VV與-3-12V。由由于發(fā)送電平平與接收電平平的差僅為22V至3V左左右,所以其其共模抑制能能力差,再加加上雙絞線上上的分布電容容,其傳送距距離最大為約約15米,最最高速
15、率為220kb/ss。RS-2232是為點(diǎn)點(diǎn)對點(diǎn)(即只只用一對收、發(fā)發(fā)設(shè)備)通訊訊而設(shè)計的,其其驅(qū)動器負(fù)載載為37kk。所以RSS-232適適合本地設(shè)備備之間的通信信。 串口編程技技術(shù)在Microssoft WWindowws 下開發(fā)發(fā)串行通信目目前通常有如如下幾種方法法:一是利用用Windoows APPI通信函數(shù)數(shù);二是利用用 winddows 的的讀寫端口函函數(shù)_inpp、_inppw、_innpd、_ooutp、_outpww、_outtpd、(WWindowws95系列列下)或開發(fā)發(fā)驅(qū)動程序(WWindowwsNT系列列操作系統(tǒng)下下)直接對串串口進(jìn)行操作作;三是利用用第三方提供供或自
16、己編寫寫的通信;四四是使用串口口通信組件,如如ActivveX控件MMSCommm 。MSComm控控件:(Miicrosooft Coommuniicatioon Conntrol)是是微軟公司提提供的簡化wwindowws下串口通通信編程的AActiveeX控件,它它為應(yīng)用程序序提供了通過過串行接口收收發(fā)數(shù)據(jù)的簡簡便方法,在在VisuaalBasiic、VC、DDelphii等語言均可可使用。以上幾種方法中中第一種使用用面較廣,但但由于比較復(fù)復(fù)雜,使用較較困難;第二二種需要了解解硬件電路結(jié)結(jié)構(gòu)原理,深深入驅(qū)動層次次,專業(yè)化程程度較高;第第三種方法使使用面向?qū)ο笙蠹夹g(shù)封裝WWin32AAPI
17、函數(shù),提提供一個用于于串行通信的的類,只要理理解這種類的的幾個成員函函數(shù),就能方方便的使用,但但能普遍應(yīng)用用的這種類相相當(dāng)困難;第第四種方法較較簡單,對于于 Visuual Baasic,常常用的方法就就是使用第四四種方法。本本文將用第四四種方法實(shí)現(xiàn)現(xiàn)雙機(jī)通信。 串口實(shí)現(xiàn)雙雙機(jī)互聯(lián)系統(tǒng)統(tǒng)功能概述雙機(jī)互聯(lián)程序通通過串口將兩兩臺計算機(jī)連連接起來,按按照自定義的的串口通信協(xié)協(xié)議(簡稱為為SPCP)進(jìn)進(jìn)行信息交換換,實(shí)現(xiàn)通過過串口進(jìn)行聊聊天、文件和和收發(fā)的功能能。SPCP協(xié)議設(shè)設(shè)計思想基于于幀傳輸方式式,即在向串串口發(fā)送數(shù)據(jù)據(jù)時是一幀一一幀地發(fā)送。對對于上層應(yīng)用用(如文件傳傳輸)來說,應(yīng)應(yīng)用程序所發(fā)發(fā)
18、送的和所接接收的都是流流式數(shù)據(jù),即即如果應(yīng)用程程序需要進(jìn)行行上層的協(xié)議議解釋的話,它它將面對的這這些流數(shù)據(jù)重重新拼裝。為為保證可靠的的傳輸,在傳傳輸開始前,通通過協(xié)議建立立連接。來確確定是否要接接收數(shù)據(jù),是是否保存等。 VB串口查查詢法的實(shí)現(xiàn)現(xiàn)方法 串口查詢法法的機(jī)理 VB的的串口查詢法法是一種主要要工作在查詢詢方式下的實(shí)實(shí)現(xiàn)方法。當(dāng)當(dāng)通信程序工工作在“查詢”方式時,可可以不考慮WWin95的的進(jìn)程和線程程的問題。僅僅在串口有數(shù)數(shù)據(jù)時,去讀讀串口緩沖區(qū)區(qū)就可以了。這這種方法下確確定串口讀取取的時機(jī)、握握手協(xié)議及軟軟件糾錯的實(shí)實(shí)現(xiàn)是程序員員應(yīng)考慮的主主要問題。以下是讀取接收收緩沖區(qū)數(shù)據(jù)據(jù)時的流程
19、圖圖:獲取當(dāng)前通信設(shè)備的數(shù)據(jù)獲取當(dāng)前通信設(shè)備的數(shù)據(jù)緩沖區(qū)中有無數(shù)據(jù)讀數(shù)據(jù)結(jié)束無有有 由于這這種方法主要要工作在查詢詢方式。程序序員必須完成成相當(dāng)一部分分通信狀態(tài)的的檢測工作,許許多細(xì)節(jié)(甚甚至包括通信信過程中的字字符屬性的轉(zhuǎn)轉(zhuǎn)換)也必須須通過程序代代碼完成。因因而相比較通通信控件方法法而言,這種種查詢方法對對通信雙方協(xié)協(xié)議的依賴性性尤其大。雙雙方通信協(xié)議議的約定對程程序?qū)崿F(xiàn)的難難易程度影響響很大。串口查詢法中,一一般串口初始始化的流程如如下:設(shè)置設(shè)備控制塊設(shè)置設(shè)備控制塊打開串口設(shè)置通信參數(shù)設(shè)置緩沖區(qū)大小值得注意的一點(diǎn)點(diǎn)是,此方法法下協(xié)議的約約定必須滿足足以下條件:即甲方發(fā)送送時,乙方必必須在甲
20、方發(fā)發(fā)送動作之前前進(jìn)入循環(huán)接接收狀態(tài),直直到接收到字字符后通過對對串口讀取函函數(shù)ReaddFile返返回值的判斷斷跳出循環(huán)狀狀態(tài)。 同時時,一般為了了不使系統(tǒng)因因循環(huán)等待接接收而進(jìn)入“死循環(huán)”狀態(tài),可以以人為設(shè)置讀讀取串口的循循環(huán)次數(shù),一一般10000100000次即可。VVB是一種極極為靈活的高高級語言,因因而在這種方方法下可以方方便地引入?yún)R匯編語言的思思維,利用其其GoTo轉(zhuǎn)轉(zhuǎn)向語句方便便地控制程序序的流程。非非常靈活方便便。 與通信線程程法的比較 通信線線程法通過在在應(yīng)用程序的的主線程外再再創(chuàng)建一個通通信線程來監(jiān)監(jiān)視通信設(shè)備備,其最大優(yōu)優(yōu)點(diǎn)是程序?qū)邮諗?shù)據(jù)具具有自主覺察察能力。一旦旦通
21、信線程查查詢到數(shù)據(jù)已已發(fā)送到串口口上,線程自自動向應(yīng)用程程序發(fā)送一個個數(shù)據(jù)接收到到的消息,應(yīng)應(yīng)用程序可用用該消息來讀讀取通信設(shè)備備傳來的數(shù)據(jù)據(jù)。并且使用用通信線程還還不占用CPPU時間。這這樣系統(tǒng)實(shí)際際上具有了同同時控制多個個通信設(shè)備(如如MODEMM)的能力。通通信線程法在在C+的開開發(fā)系統(tǒng)中用用得較多,這這與C+的的特點(diǎn)和優(yōu)勢勢密切相關(guān)。由由于VB自身身的特點(diǎn),創(chuàng)創(chuàng)建通信線程程的方法對VVB而言,實(shí)實(shí)現(xiàn)上有相當(dāng)當(dāng)?shù)碾y度。而而且這樣做,也也無異于犧牲牲VB的簡單單方便性而去去遷就程序的的復(fù)雜性,很很不經(jīng)濟(jì)。串串口查詢法容容易地引入了了匯編語言的的一些思維,實(shí)實(shí)現(xiàn)了最精簡簡的程序代碼碼。它不一
22、定定是最完善,但但對一般VBB程序員來說說,這種方法法確實(shí)達(dá)到了了簡化思路和和降低難度的的目的,因而而實(shí)現(xiàn)簡單。 SPCP通通信協(xié)議設(shè)計計以下設(shè)計的串口口通信協(xié)議用用于完成本文文雙機(jī)互聯(lián)程程序的文件傳傳輸功能,簡簡稱為SPCCP(Serrial PPort CCommunnicatiion Prrotocool)。SPPCP設(shè)計思思想基于幀傳傳輸方式,即即在向串口發(fā)發(fā)送數(shù)據(jù)時是是一幀一幀地地發(fā)送。對于于上層應(yīng)用(如如文件傳輸)來來說,應(yīng)用程程序所發(fā)送的的和所接收的的都是流式數(shù)數(shù)據(jù),即如果果應(yīng)用程序需需要進(jìn)行上層層的協(xié)議解釋釋的話,它將將面對這些流流數(shù)據(jù)的重新新拼裝。為保保證可靠的傳傳輸,在傳輸
23、輸開始前,通通過握手建立立連接與TCCP/IP協(xié)協(xié)議類似。 串行通信協(xié)協(xié)議 異步通信協(xié)協(xié)議的實(shí)例起止式異異步協(xié)議圖3.1. 起起止式異步協(xié)協(xié)議特點(diǎn)與格式:起止式異步協(xié)議議的特點(diǎn)是一一個字符一個個字符傳輸,并并且傳送一個個字符總是以以起始位開始始,以停止位位結(jié)束,字符符之間沒有固固定的時間間間隔要求。其其格式如圖33.1所示。每每一個字符的的前面都有一一位起始位(低低電平,邏輯輯值0),字字符本身有557位數(shù)據(jù)據(jù)位組成,接接著字符后面面是一位校驗驗位(也可以以沒有校驗位位),最后是是一位,或者者一位半,或或二位停止位位,停止位后后面是不定長長度的空閑位位。停止位和和空閑位都規(guī)規(guī)定為高電平平(邏輯
24、值11),這樣就就保證起始位位開始處一定定有一個下跳跳沿。從圖中可以看出出,這種格式式是靠起始位位和停止位來來實(shí)現(xiàn)字符的的界定或同步步的,故稱為為起始式協(xié)議議。傳送時,數(shù)數(shù)據(jù)的低位在在前,高位在在后,圖3.2表示了傳傳送一個字符符E的ASCCAII碼的的波形10110001。當(dāng)當(dāng)把它的最低低有效位寫到到右邊時,就就是E的ASSCII碼110001001=45HH。圖3.2 AASCAIII碼的波形起止位的作用用:起始位實(shí)實(shí)際上是作為為聯(lián)絡(luò)信號附附加進(jìn)來的,當(dāng)當(dāng)它變?yōu)榈碗婋娖綍r,告訴訴收方傳送開開始。它的到到來,表示下下面接著是數(shù)數(shù)據(jù)位來了,要要準(zhǔn)備接收。而而停止位標(biāo)志志一個字符的的結(jié)束,它的的
25、出現(xiàn),表示示一個字符傳傳送完畢。這這樣就為通信信雙方提供了了何時開始收收發(fā),何時結(jié)結(jié)束的標(biāo)志。傳傳送開始前,發(fā)發(fā)收雙方把所所采用的起止止式格式(包包括字符的數(shù)數(shù)據(jù)位長度,停停止位位數(shù),有有無校驗位以以及是奇校驗驗還是偶校驗驗等)和數(shù)據(jù)據(jù)傳輸速率作作統(tǒng)一規(guī)定。傳傳送開始后,接接收設(shè)備不斷斷地檢測傳輸輸線,看是否否有起始位到到來。當(dāng)收到到一系列的“11”(停止位位或空閑位)之之后,檢測到到一個下跳沿沿,說明起始始位出現(xiàn),起起始位經(jīng)確認(rèn)認(rèn)后,就開始始接收所規(guī)定定的數(shù)據(jù)位和和奇偶校驗位位以及停止位位。經(jīng)過處理理將停止位去去掉,把數(shù)據(jù)據(jù)位拼裝成一一個并行字節(jié)節(jié),并且經(jīng)校校驗后,無奇奇偶錯才算正正確的接收
26、一一個字符。一一個字符接收收完畢,接收收設(shè)備有繼續(xù)續(xù)測試傳輸線線,監(jiān)視“00”電平的到到來和下一個個字符的開始始,直到全部部數(shù)據(jù)傳送完完畢。由上述述工作過程可可看到,異步步通信是按字字符傳輸?shù)?,每每傳輸一個字字符,就用起起始位來通知知收方,以此此來重新核對對收發(fā)雙方同同步。若接收收設(shè)備和發(fā)送送設(shè)備兩者的的時鐘頻率略略有偏差,這這也不會因偏偏差的累積而而導(dǎo)致錯位,加加之字符之間間的空閑位也也為這種偏差差提供一種緩緩沖,所以異異步串行通信信的可靠性高高。但由于要要在每個字符符的前后加上上起始位和停停止位這樣一一些附加位,使使得傳輸效率率變低了,只只有約80%。因此,起起止協(xié)議一般般用在數(shù)據(jù)速速率較
27、慢的場場合(小于119.2kbbit/s)。在在高速傳送時時,一般要采采用同步協(xié)議議。 面向字符的的同步協(xié)議特點(diǎn)與格式:這這種協(xié)議的典典型代表是IIBM公司的的二進(jìn)制同步步通信協(xié)議(BSC)。它它的特點(diǎn)是一一次傳送由若若干個字符組組成的數(shù)據(jù)塊塊,而不是只只傳送一個字字符,并規(guī)定定了10個字字符作為這個個數(shù)據(jù)塊的開開頭與結(jié)束標(biāo)標(biāo)志以及整個個傳輸過程的的控制信息,它它們也叫做通通信控制字。由由于被傳送的的數(shù)據(jù)塊是由由字符組成,故故被稱作面向向字符的協(xié)議議。 特定字字符(控制字字符)的定義義:由上面的的格式可以看看出,數(shù)據(jù)塊塊的前后都加加了幾個特定定字符。SYYN是同步字字符(synnchronno
28、us CCharaccter),每每一幀開始處處都有SYNN,加一個SSYN的稱單單同步,加兩兩個SYN的的稱雙同步設(shè)設(shè)置同步字符符是起聯(lián)絡(luò)作作用,傳送數(shù)數(shù)據(jù)時,接收收端不斷檢測測,一旦出現(xiàn)現(xiàn)同步字符,就知道是一一幀開始了。接接著的SOHH是序始字符符(Starrt Of Headeer),它表表示標(biāo)題的開開始。標(biāo)題中中包括源地址、目的的地址和路由由指示等信息息。STX是是文始字符(Startt Of TText),它它標(biāo)志著傳送送的正文(數(shù)數(shù)據(jù)塊)開始始。數(shù)據(jù)塊就就是被傳送的的正文內(nèi)容,由由多個字符組組成。數(shù)據(jù)塊塊后面是組終終字符ETBB(End Of Trransmiissionn Blo
29、cck)或文終終字符ETXX(End Of Teext),其其中ETB用用在正文很長長、需要分成成若干個分?jǐn)?shù)數(shù)據(jù)塊,分別在不同同幀中發(fā)送的的場合,這時時在每個分?jǐn)?shù)數(shù)據(jù)塊后面用用文終字符EETX。一幀幀的最后是校校驗碼,它對對從SOH開開始到ETXX(或ETBB)字段進(jìn)行行校驗,校驗驗方式可以是是縱橫奇偶校校驗或CRCC。另外,在在面向字符協(xié)協(xié)議中還采用用了一些其他他通信控制字字,它們的名名稱如下表所所示:表3.1 通通信控制字名稱ASCIIEBCDIC序始(SOH)00000011000000001文始(STX)00000100000000110組終(ETB)00101111001001110
30、文終(ETX)00000111000000111同步(SYN)00101100001100110送畢(EOT)00001000001101111詢問(ENQ)00001011001011001確認(rèn)(ACK)00001100001011110否認(rèn)(NAK)00101011001111001轉(zhuǎn)義(DLE)00100000000100000數(shù)據(jù)透明的實(shí)現(xiàn)現(xiàn):面向字符符的同步協(xié)議議,不象異步步起止協(xié)議那那樣,需要在在每個字符前前后附加起始始和停止位,因因此,傳輸效效率提高了。同同時,由于采采用了一些傳傳輸控制字,故故增強(qiáng)了通信信控制能力和和校驗功能。但但也存在一些些問題,例如如,如何區(qū)別別數(shù)據(jù)字符代代
31、碼和特定字字符代碼的問問題,因為在在數(shù)據(jù)塊中完完全有可能出出現(xiàn)與特定字字符代碼相同同的數(shù)據(jù)字符符,這就會發(fā)發(fā)生誤解。比比如正文有個個與文終字符符ETX的代代碼相同的數(shù)數(shù)據(jù)字符,接接收端就不會會把它當(dāng)作為為普通數(shù)據(jù)處處理,而誤認(rèn)認(rèn)為是正文結(jié)結(jié)束,因而產(chǎn)產(chǎn)生差錯。因因此,協(xié)議應(yīng)應(yīng)具有將特定定字符作為普普通數(shù)據(jù)處理理的能力,這這種能力叫做做“數(shù)據(jù)透明明”。為此,協(xié)協(xié)議中設(shè)置了了轉(zhuǎn)移字符DDLE(Daata Liink Esscape)。當(dāng)把一個個特定字符看看成數(shù)據(jù)時,在在它前面要加加一個DLEE,這樣接收收器收到一個個DLE就可可預(yù)知下一個個字符是數(shù)據(jù)據(jù)字符,而不不會把它當(dāng)作作控制字符來來處理了。D
32、DLE本身也也是特定字符符,當(dāng)它出現(xiàn)現(xiàn)在數(shù)據(jù)塊中中時,也要在在它前面加上上另一個DLLE。這種方方法叫字符填填充。字符填填充實(shí)現(xiàn)起來來相當(dāng)麻煩,且且依賴于字符符的編碼。正正是由于以上上的缺點(diǎn),故故又產(chǎn)生了新新的面向比特特的同步協(xié)議議。 面向比特的的同步協(xié)議特點(diǎn)與格式:面面向比特的協(xié)協(xié)議中最具有有代表性的是是IBM的同同步數(shù)據(jù)鏈路路控制規(guī)程SSDLC(SSynchrronouss Dataa Linkk Conttrol),國際標(biāo)準(zhǔn)化化組織ISOO(Inteernatiional Standdard OOrganiizatioon)的高級級數(shù)據(jù)鏈路控控制規(guī)程HDDLC(Hiigh Leevel
33、DData llink CControol),美國國國家標(biāo)準(zhǔn)協(xié)協(xié)會(Ameericall Natiional Standdard IInstittute)的的先進(jìn)數(shù)據(jù)通通信規(guī)程ADDCCP(AAdvancced Daata Coommuniicatioon Conntrol Proceedure)。這些協(xié)議議的特點(diǎn)是所所傳輸?shù)囊粠瑤瑪?shù)據(jù)可以是是任意位,而而且它是靠約約定的位組合合模式,而不不是靠特定字字符來標(biāo)志幀幀的開始和結(jié)結(jié)束,故稱“面面向比特”的的協(xié)議。這中中協(xié)議的一般般幀格式如圖圖所示:-圖4.2 幀幀格式幀信息的分段:由圖4.22可見,SDDLC/HDDLC的一幀幀信息包括以以下幾個場
34、(Filedd),所有場場都是從有效效位開始傳送送。(1)SDLCC/HDLCC標(biāo)志字符:SDLC/HDLC協(xié)協(xié)議規(guī)定,所所有信息傳輸輸必須以一個個標(biāo)志字符開開始,且以同同一個字符結(jié)結(jié)束。這個標(biāo)標(biāo)志字符是011111110,稱稱標(biāo)志場(FF)。從開始始標(biāo)志到結(jié)束束標(biāo)志之間構(gòu)構(gòu)成一個完整整的信息單位位,稱為一幀幀(Framme)。所有有的信息是以以幀的形傳輸輸?shù)?,而?biāo)志志字符提供了了每一幀的邊邊界。接收端端可以通過搜搜索“0111111100”來探知幀幀的開頭和結(jié)結(jié)束,以此建建立幀同步。(2)地址場和和控制場:在在標(biāo)志場之后后,可以有一一個地址場AA(Addrress)和和一個控制場場C(Con
35、ntrol)。地址場用用來規(guī)定與之之通信的次站站的地址??乜刂茍隹梢?guī)定定若干個命令令。SDLCC規(guī)定A場和和C場的寬度度為8位或116位。接收收方必須檢查查每個地址字字節(jié)的第一位位,如果為“00”,則后面面跟著另一個個地址字節(jié);若為“1”,則則該字節(jié)就是是最后一個地地址字節(jié)。同同理,如果控控制場第一個個字節(jié)的第一一位為“0”,則則還有第二個個控制場字節(jié)節(jié),否則就只只有一個字節(jié)節(jié)。(3)信息場:跟在控制場場之后的是信信息場I(IInformmationn)。I場包包含有要傳送送的數(shù)據(jù),并并不是每一幀幀都必須有信信息場。即信信息場可以為為0,當(dāng)它為為0時,則這這一幀主要是是控制命令。(4)幀校驗信
36、信息:緊跟在在信息場之后后的是兩字節(jié)節(jié)的幀校驗,幀幀校驗場稱為為FC(Frrame CCheck)場或稱為幀幀校驗序列FFCS(Frrame ccheck Squennce)。SSDLC/HHDLC均采采用16位循循環(huán)冗余校驗驗碼CRC(CCyclicc Reduundanccy Codde)。除了了標(biāo)志場和自自動插入的“00”以外,所所有的信息都都參加CRCC計算。實(shí)際應(yīng)用時的兩兩個技術(shù)問題題:(1)“0”位位插入/刪除除:如上所述述,SDLCC/HDLCC協(xié)議規(guī)定以以011111110為標(biāo)標(biāo)志字節(jié),但但在信息場中中也完全有可可能有同一種種模式的字符符,為了把它它與標(biāo)志區(qū)分分開來,所以以采取
37、了“00”位插入和和刪除技術(shù)。具具體作法是發(fā)發(fā)送端在發(fā)送送所有信息(除除標(biāo)志字節(jié)外外)時,只要要遇到連續(xù)55個“1”,就就自動插入一一個“0”,當(dāng)當(dāng)接收端在接接收數(shù)據(jù)時(除除標(biāo)志字節(jié))如如果連續(xù)收到到5個“1”,就就自動將其后后的一個“00”刪除是,以以恢復(fù)信息的的原有形式。這這種“0”位位的插入和刪刪除過程是由由硬件自動完完成的。(2)SDLCC/HDLCC異常結(jié)束:若在發(fā)送過過程中出現(xiàn)錯錯誤,則SDDLC/HDDLC協(xié)議常常用異常結(jié)束束(Aborrt)字符,或或稱為失效序序列使本幀作作廢。在HDDLC規(guī)程中中,7個連續(xù)續(xù)的“1”被被作為失效字字符,而在SSDLC中失失效字符是88個連續(xù)的“
38、11”。當(dāng)然在在試銷序列中中不使用“00”位插入/刪除技術(shù)。SSDLC/HHDLC協(xié)議議規(guī)定,在一一幀之內(nèi)不允允許出現(xiàn)數(shù)據(jù)據(jù)間隔。在兩兩幀之間,發(fā)發(fā)送器可以連連續(xù)輸出標(biāo)志志字符序列,也也可以輸出連連續(xù)的高電平平,它被稱為為空閑(Iddle)信號號。 SPCP協(xié)協(xié)議的發(fā)送格格式 01/2D1D2D3D4D5D6D7D83數(shù)據(jù)尾頭標(biāo)志數(shù)據(jù)類數(shù)據(jù)尾頭標(biāo)志數(shù)據(jù)類發(fā)送過程中的約約定:當(dāng)收信信方收到0時時為開始發(fā)送送的開始標(biāo)志志,在此之后后又收到1則則表示是文本本文件,如果果收了2則表表示是文件類類型,當(dāng)收到到3時則表示示發(fā)送完畢。串口發(fā)送過來的的數(shù)據(jù)作為一一個數(shù)據(jù)流按按SPCP協(xié)協(xié)議進(jìn)行處理理,并加上控
39、控制字符進(jìn)行行發(fā)送;在接接收端,根據(jù)據(jù)接收到的數(shù)數(shù)據(jù)進(jìn)行處理理,接收完成成后在發(fā)送到到顯示窗口。 雙機(jī)互聯(lián)程程序的實(shí)現(xiàn) 創(chuàng)建標(biāo)準(zhǔn)的的項目文件創(chuàng)建一個基于標(biāo)標(biāo)準(zhǔn).EXEE的項目,打打開 Vissual BBasic,從從“ 文件”菜單中選擇擇“新建工程”,然后選擇擇建立標(biāo)準(zhǔn).EXE項目目即可。圖4.1新建工工程對話框 加入串口通通信控件默認(rèn)的控件工具具欄中沒有MMSCommm控件,因此此首先要把它它加入到控件件工具欄中。為為了在實(shí)現(xiàn)文文件傳送功能能時能夠方便便地選擇文件件路徑,還應(yīng)應(yīng)添加一個標(biāo)標(biāo)準(zhǔn)對話框,這這在默認(rèn)的控控件工具欄中中也是沒有的的。選擇“Projeect”菜單下的“ Comppon
40、entts ”選項,在彈彈出的對話框框中選取“contrrols”選項卡,選選中“ Miccrosofft Commm Conntrol 6.0”和“ Micrrosoftt Commmon Diialog Contrrol 6.0 ”,單擊“確定”按鈕將它們們加入到控件件工具欄中來來,這時就可可以看到控件件工具欄出現(xiàn)現(xiàn) MSCoomm控件圖圖標(biāo)(形狀與與電話相似)和和標(biāo)準(zhǔn)對話框框控件圖標(biāo)。圖4.2 外接接程序管理器器 設(shè)計程序主主窗體主窗體的功能分分析本文的程序僅包包含兩個窗體體,即主窗體體和參數(shù)設(shè)置置窗體。參數(shù)數(shù)設(shè)置僅完成成對MSCoomm進(jìn)行參參數(shù)設(shè)置,其其他功能幾乎乎均從主窗體體中進(jìn)行
41、響應(yīng)應(yīng)。本文將完完成以下功能能:整個程序的初初始化。對各標(biāo)志變量量的設(shè)置與響響應(yīng)。對各個按鈕的的響應(yīng)。短語的輸入功功能。程序的主界面應(yīng)應(yīng)當(dāng)能夠響應(yīng)應(yīng)各種操作,并并調(diào)用程序的的各個模塊和和功能,因此此,主界面主主要實(shí)現(xiàn)的功功能就是調(diào)用用本系統(tǒng)的所所有其他功能能,包括打開開串行口、關(guān)關(guān)閉串行口、啟啟動參數(shù)設(shè)置置、發(fā)送消息息、或顯示文文件傳送界面面等功能。本程序的基本功功能是依靠MMSCommm控件實(shí)現(xiàn)的的,首先要將將其添加到窗窗體中,由于于該控件在程程序運(yùn)行時是是不可見的,我我把它們放在在窗體的底部部即可。同樣樣,標(biāo)準(zhǔn)對話話框控件也只只需放在窗體體底部即可。為為了實(shí)現(xiàn)對串串行口的操作作,我利用組組
42、合框定制了了一個簡單的的選擇框,和和兩個按鈕來來實(shí)現(xiàn)對串口口設(shè)置能改變變到程序中和和能將收到的的信息清空以以保證能把接接下來收到的的信息顯示在在窗口上,當(dāng)當(dāng)在發(fā)送文件件時會顯示發(fā)發(fā)送信息內(nèi)容容及文件路徑徑。主窗體的界面設(shè)設(shè)計窗體及其控件的的主要屬性和和作用如表所所示:表4.1ffrmMaiin 窗體及及其控件的主主要屬性和作作用名稱控件類型主要屬性主要屬性frmMainnFormCaptionn=雙機(jī)互聯(lián)聯(lián)標(biāo)題欄顯示程序序CtrMSCoommMSCommSettinggs和CommmPortt兩屬性運(yùn)行行時設(shè)置用于操作串行口口的控序控制制啟用和關(guān)閉閉SendDattaCommanddButto
43、onCaptionn=發(fā)送控制發(fā)送一條消消息rtfReceeiveRichTexxtBox顯示信息記錄CmdSenddTextCommanddButtoonCaptionn=發(fā)送文件件選擇發(fā)送文件SendFilleDiallOle調(diào)用發(fā)送對話框框cboBauddComboBooxList=96600,2440012000設(shè)置波特率cboDataaComboBooxList=8、77、6設(shè)置數(shù)據(jù)位cboStoppComboBooxList=1設(shè)置停止位cboOutBBufferrSizeComboBooxList=2556、5122、10244、20466設(shè)置緩沖區(qū)cboComPPortComb
44、oBooxList=1,2,3,44設(shè)置串口號SettinggOkCommanddButtoonCaptionn=打開串口口設(shè)置打開串口CommPorrtClosseCommanddButtoonCaptionn=關(guān)閉串口口設(shè)置關(guān)閉串口SaveFilleDiallOle調(diào)用保存對話框框frmMainn 窗體的設(shè)設(shè)計界面如圖圖所示:圖4.3 整體體控件圖圖4.4 主窗窗體左上部分負(fù)責(zé)聊聊天功能(收收短信息),右右下部分負(fù)責(zé)責(zé)信息的發(fā)送送,“發(fā)送“按鈕實(shí)現(xiàn)文文本的發(fā)送,“發(fā)送文件“按鈕,實(shí)現(xiàn)文件傳輸功能。右上方的幾個選擇框可以實(shí)現(xiàn)配置串口參數(shù)功能,按鈕分別完成打開串口、關(guān)閉串口。如果需要發(fā)送文文件
45、,點(diǎn)擊“發(fā)送文件”按鈕,將自自動彈出文件件對話框,從從中選擇待發(fā)發(fā)送文件,則則程序在互聯(lián)聯(lián)的另一方發(fā)發(fā)送文件請求求接收時自動動打開文件對對話框,要求求用戶選擇文文件保存路徑徑和名稱,然然后將文件保保存。系統(tǒng)的加構(gòu)方式式所示。程序間交換數(shù)據(jù)發(fā)送端應(yīng)用程接收端應(yīng)用 程序間交換數(shù)據(jù)發(fā)送端應(yīng)用程接收端應(yīng)用文件傳輸短信息其它其它短信息文件傳輸文件傳輸短信息其它其它短信息文件傳輸緩沖區(qū)spcp串口通信協(xié)議SPCP串行通訊協(xié)議緩沖區(qū)spcp串口通信協(xié)議SPCP串行通訊協(xié)議緩沖區(qū)spcp串口通信協(xié)議SPCP串行通訊協(xié)議緩沖區(qū)spcp串口通信協(xié)議SPCP串行通訊協(xié)議omm控件Windows APIomm控件Wi
46、ndows APIindows APIomm控件Windows APIindows API串行口串行口串行口串行口串口線本系統(tǒng)中關(guān)注的的重點(diǎn)是SPPCP協(xié)議的的設(shè)計和實(shí)現(xiàn)現(xiàn),而建立在在SPCP協(xié)協(xié)議上的兩種種上層應(yīng)用,文文件傳輸和短短信息傳輸則則是程序的主主要目標(biāo)。 程序的測試試與運(yùn)行 軟件及硬件件測試本程序的測試運(yùn)運(yùn)行需要把兩兩臺計算機(jī)用用串口線連接接起來進(jìn)行,或或者在把一臺臺機(jī)器上的兩兩個串行口連連接起來,本本論文采用的的是前一種方方式。 發(fā)送消息時時發(fā)送方和收信方方見下圖。圖5.1 發(fā)送送方窗口輸入中文“044級通信工程程畢業(yè)設(shè)計”點(diǎn)“發(fā)送”收信方窗口口如圖5.22:圖5.2 收信信方窗
47、口同時發(fā)送方也可可以作為接受受方,例如輸輸入中文“于向陽”點(diǎn)“發(fā)送”如圖5.11。 發(fā)送文件時時當(dāng)發(fā)送方選定文文件路徑即文文件名后,接接收端將彈出出一個標(biāo)準(zhǔn)的的“另存為”對話框由接接收方選擇存存盤路徑,如如果所選擇的的路徑指向的的文件已存在在,則程序會會詢問是否覆覆蓋原有的文文件,確定后后即可開始接接收。圖5.3 選選擇要發(fā)送的的文件圖5.4 發(fā)發(fā)送方窗口圖5.4 保保存收到的文文件圖5.5 收收信方窗口至此,完成了雙雙機(jī)通信程序序的發(fā)送消息息和發(fā)送文件件兩個功能,達(dá)達(dá)到了預(yù)期的的效果。 總結(jié)隨著計算機(jī)應(yīng)用用領(lǐng)域的不斷斷擴(kuò)展,計算算機(jī)之間的遠(yuǎn)遠(yuǎn)程通信用得得也越來越廣廣泛。作為RRAD開發(fā)工工具
48、代表的VVisuallBasicc同樣提供了了一系列標(biāo)準(zhǔn)準(zhǔn)通信命令的的接口,它允允許建立串口口連接,可以以連接到其他他通信設(shè)備(如如Modemm)、還可以以發(fā)送命令、進(jìn)進(jìn)行數(shù)據(jù)交換換以及監(jiān)視和和響應(yīng)在通信信過程中可能能發(fā)生的各種種錯誤和事件件等,可以滿滿足通常情況況下的串口通通信需求。如如果在實(shí)際應(yīng)應(yīng)用過程中,能能夠很好的掌掌握MSCoomm控件的的特性,靈活活變通,就可可以達(dá)到安全全、穩(wěn)定、高高效通信的目目的。在本文中,以控控件作為底層層接口,在此此基礎(chǔ)上建立立了一個簡單單的串行通信信協(xié)議SPCCP,并由此此實(shí)現(xiàn)了實(shí)時時通信和文件件傳輸功能。當(dāng)然還有一些缺點(diǎn),比如文件傳輸效率較低,安全性也較
49、差,由于是做聊天和數(shù)據(jù)的傳輸,為了減少傳輸?shù)呢?fù)擔(dān),就沒有設(shè)置校驗位,還有待于進(jìn)一步的完善和優(yōu)化。附錄(1)相關(guān)代碼碼Dim RHeead, RRType, One, IsSttr As BooleeanDim RSttr, Seendstrr As SStringgDim b(00 To 11) As ByteDim strrSet AAs Strring Dim inttPort As Loong Dim inttOutBuuffer As Loong Privatee Sub OpenPPort_CClick() If frmMaain.cttrMSCoomm.PoortOpeen = F
50、False Then Calll CommmPortOOpen Senddstr = 設(shè)置:打開串行口口! Elsse Senddstr = 設(shè)置:串行口已經(jīng)經(jīng)打開! Endd IfEnd SubbPrivatee Sub ClearrRecV_Clickk()RecV.Teext = End SubbPrivatee Sub CommPPortCllose_CClick() If ctrMSSComm.PortOOpen = Truee Thenn ctrMMSCommm.PorttOpen = Fallse Sendsstr = MsgBoox(串行行口已關(guān)閉!, 0 + vbEExcla
51、mmationn) Elsse Senddstr = MsgBBox(串串行口已關(guān)閉閉!, 00 + vbbExclaamatioon) Endd IfEnd SubbPrivatee Sub Form_Load()If ctrMMSCommm.PorttOpen = Truue Theen ctrMMSCommm.PorttOpen = FallseEnd IfRecV.Loocked = Truue RecvHeaad = FFalse RecvTyppe = FFalseOne = FFalseIsStr = FalsseRStr = SaveFilleDiall.CanccelErrr
52、or = TrueSendFilleDiall.CanccelErrror = TrueEnd SubbPrivatee Sub ctrMSSComm_OnCommm()Dim ReecVStrr As SStringgIf ctrMMSCommm.PorttOpen = Truue TheenDim ReccVBytee() Ass ByteeDim ReccvLen, i Ass InteegerOn Erroor GoTTo ErrrorHanndlerRecVBytte = cctrMSCComm.IInputFor i = LBouund(ReecVBytte) Too UBouun
53、d(ReecVBytte) If RHeadd Thenn If RRType Then If IssStr TThen IIf ReccVBytee(i) = 3 Thhen ReecV.Teext = RecV.Text & 收到到: & RStr & vbbCrLf RSStr = RHHead = Falsse RTType = Falsse IssStr = Falsse Onne = FFalse EElse Iff One Then b(11) = RRecVByyte(i) RSttr = RRStr & StrCConv(bb, vbUUnicodde) Onee = Faa
54、lse Ellse If RecVBByte(ii) 1127 Thhen b(0) = ReecVBytte(i) One = Truue Elsse RStrr = RSStr & Chr(RRecVByyte(i) Endd If Ennd If EEnd Iff Else IIf ReccVBytee(i) = 3 Thhen ReecV.Teext = RecV.Text & 現(xiàn)在在收到文件請請選擇保存路路徑: & vbCrrLf SaaveFilleDiall.FileeName = Daata.Txxt SaaveFilleDiall.DiallogTittle = 保存文件件
55、SaaveFilleDiall.DefaaultExxt = Txt SaaveFilleDiall.Filtter = *.txxt|*.ttxt|*.*|*.* SaaveFilleDiall.Actiion = 2 Oppen SaaveFilleDiall.FileeName For OOutputt As #2 Prrint #2, RSStr ReecV.Teext = RecV.Text & 收到到文件保存在在: & SaveFFileDiial.FiileNamme & vvbCrLff Cllose #2 RSStr = RHHead = Falsse RTType = Fa
56、lsse IssStr = Falsse Onne = FFalse EElse Iff One Then b(11) = RRecVByyte(i) RSttr = RRStr & StrCConv(bb, vbUUnicodde) Onee = Faalse Ellse If RecVBByte(ii) 1127 Thhen b(0) = ReecVBytte(i) One = Truue Elsse RStrr = RSStr & Chr(RRecVByyte(i) Endd If Ennd If EEnd Iff End IIf Elsee If ReecVBytte(i) = 1 T
57、Then RRType = Truue IIsStr = Truue ElseIIf ReccVBytee(i) = 2 Thhen SaveFFile.EEnableed = TTrue RRType = Truue IIsStr = Fallse Else RRHead = Fallse End IIf End If Elsse If RRecVByyte(i) = 0 Then RHeadd = Trrue End If Endd IfNext iErrorHaandlerr:Select Case Err.NNumberrCase 322755 ReccV.Texxt = RRecV.
58、TText & 你沒有有保存收到的的文件! & vbCCrLf RSttr = RHeead = Falsee RTyype = Falsee IsSStr = Falsee Onee = FaalseEnd SellectElse MsggBox (請打開串串口)End IfEnd SubbPrivatee Sub SendDData_CClick()Dim strr() Ass ByteeSendstrr = Chhr(0) + Chrr(1) + SenddD.Texxt + CChr(133) + CChr(100) + CChr(3) str = SStrConnv(Senndstr
59、, vbFrromUniicode) ctrMSCoomm.Ouutput = strr End SubbPrivatee Sub SendFFile_CClick()Dim InpputDatta, Seendstrr As SStringgDim SenndDataa() Ass ByteeSendFilleDiall.FileeName = Daata.TxxtSendFilleDiall.DefaaultExxt = TxtSendFilleDiall.Filtter = *.txxt|*.ttxt|*.*|*.*On Erroor GoTTo ErrrorHanndlerSendFi
60、lleDiall.Actiion = 1Sendstrr = Open SeendFilleDiall.FileeName For IInput As #11Do Whille Nott EOF(1) Linne Inpput #11, InpputDatta Senndstr = Senndstr + InpputDatta + vvbCrLff LoopClose #1Sendstrr = Chhr(0) + Chrr(2) + Senddstr + Chr(3) SendDatta = SStrConnv(Senndstr, vbFrromUniicode) ctrMSCoomm.Ouu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能制造的安全性與隱私保護(hù)的策略及實(shí)施路徑
- 危化企業(yè)安全生產(chǎn)投入與保障方案
- 互動式教學(xué)在高中化學(xué)課堂中的應(yīng)用研究
- 中外教育史知到課后答案智慧樹章節(jié)測試答案2025年春泰山學(xué)院
- 中外園林漫賞知到課后答案智慧樹章節(jié)測試答案2025年春青島農(nóng)業(yè)大學(xué)
- 電廠閥門修理施工方案
- 三級人力資源管理師-《三級企業(yè)人力資源管理師專業(yè)》綜合??季?
- 2025年耐高溫濾料項目建議書
- 25學(xué)年教案語文(必修上冊)162《登泰山記》
- 2025屆新疆維吾爾自治區(qū)二模歷史試題(原卷版+解析版)
- 《如何處理人際關(guān)系》課件
- 社區(qū)消防網(wǎng)格員培訓(xùn)課件
- 依奇珠單抗注射液-藥品解讀
- 太陽能路燈施工方案
- 前列腺炎的護(hù)理課件
- 外墻防水膠驗報告模板
- 頂管頂力計算
- 本學(xué)期研究性成果及創(chuàng)新成果高中范文(3篇)
- MMPI14個量表得分題目號碼
- 板式換熱器、半容積式換熱器換熱器面積計算表(自動計算)
- 寧夏設(shè)施蔬菜產(chǎn)業(yè)集約化育苗模式分析與探討
評論
0/150
提交評論