gogo熟女少妇大尺度,一个人在线观看www,国产精品久久久久久久久电影网,无套内谢少妇毛片A片999,人妻无码第一区二区三区

常見問題

專注于提供先進工業自動化產品
智慧物聯網及行業解決方案
您的當前位置:首頁 > 常見問題

詳解串口通信232/485/422,一文就可以搞定!
發布時間:2022-11-15 閱讀次數:929次

一、RS232基(ji)礎(chu)知識

 

計算(suan)機(ji)與計算(suan)機(ji)或計算(suan)機(ji)與終端之間的數據傳送可以采(cai)用(yong)串行通(tong)訊(xun)和并(bing)行通(tong)訊(xun)二種(zhong)方(fang)式。由于串行通(tong)訊(xun)方(fang)式具有使(shi)用(yong)線路(lu)少、成(cheng)本低,特別是在(zai)遠(yuan)程傳輸(shu)時,避免了多(duo)條線路(lu)特性的不一致而被(bei)廣泛采(cai)用(yong)。

 

在(zai)串行(xing)通(tong)訊時,要求(qiu)通(tong)訊雙(shuang)方都采用(yong)一(yi)個(ge)標準接口(kou),使不同的(de)設備可以方便(bian)地(di)連接起來進(jin)行(xing)通(tong)訊。RS-232-C接口(kou)(又稱EIA RS-232-C)是(shi)目(mu)前最常(chang)用(yong)的(de)一(yi)種(zhong)串行(xing)通(tong)訊接口(kou)。

 

RS-232-C是美(mei)國電子(zi)工業協會EIA(Electronic Industry Association)制(zhi)定(ding)的(de)一(yi)種串行物(wu)理接口(kou)標(biao)準(zhun)(zhun)。RS是英(ying)文“推薦(jian)標(biao)準(zhun)(zhun)”的(de)縮寫,232為(wei)標(biao)識號,C表示修(xiu)改(gai)次數(shu),代表RS232的(de)最新一(yi)次修(xiu)改(gai)(1969),在(zai)這之前,有RS232B、RS232A。它(ta)是在(zai)1970 年由美(mei)國電子(zi)工業協會(EIA)聯合貝爾系(xi)統(tong)、調(diao)制(zhi)解調(diao)器(qi)廠(chang)家(jia)及計(ji)算機(ji)終(zhong)(zhong)端(duan)生產(chan)廠(chang)家(jia)共同制(zhi)定(ding)的(de)用于串行通訊的(de)標(biao)準(zhun)(zhun)。它(ta)的(de)全名是“數(shu)據終(zhong)(zhong)端(duan)設備(DTE)和數(shu)據通訊設備(DCE)之間串行二進制(zhi)數(shu)據交換接口(kou)技術(shu)標(biao)準(zhun)(zhun)”。


 

1、電氣特性

 

EIA-RS-232C對電(dian)器特性(xing)、邏輯(ji)電(dian)平和各種信(xin)號線功(gong)能都作了規(gui)定。

 

在TxD和RxD上(shang):邏(luo)輯1(MARK)=-3V~-15V ,邏(luo)輯0(SPACE)=+3~+15V 在RTS、CTS、DSR、DTR和DCD等控制線上(shang):信號有(you)效(接(jie)通,ON狀(zhuang)態,正電壓)=+3V~+15V 信號無(wu)效(斷開(kai),OFF狀(zhuang)態,負電壓)=-3V~-15V

 

根據設備供電(dian)(dian)電(dian)(dian)源的不同,+-5、+-10、+-12和+-15這樣的電(dian)(dian)平都(dou)是可能(neng)的。

 

2、連接器(qi)的機(ji)械(xie)特性

 

由于RS-232C并未定(ding)(ding)義(yi)連接器(qi)的(de)物理特性,因此(ci),出(chu)現(xian)了DB-25、DB-15和DB-9各種(zhong)類型的(de)連接器(qi),其引腳的(de)定(ding)(ding)義(yi)也各不相同。最近,8管(guan)(guan)腳的(de)RJ-45型連接器(qi)變得(de)越(yue)來越(yue)普(pu)遍,盡(jin)管(guan)(guan)它的(de)管(guan)(guan)腳分(fen)配(pei)相差(cha)很大。EIA/TIA 561標準(zhun)規定(ding)(ding)了一(yi)種(zhong)管(guan)(guan)腳分(fen)配(pei)的(de)方(fang)法,但是由Dave Yost發明的(de)被(bei)廣泛使用(yong)在Unix計算(suan)機(ji)上的(de)Yost串連設(she)備配(pei)線(xian)標準(zhun) ('Yost Serial Device Wiring Standard')以(yi)及其他很多設(she)備都沒有采用(yong)上述任一(yi)種(zhong)連線(xian)標準(zhun)。下表中列出(chu)的(de)是被(bei)較(jiao)多使用(yong)的(de)RS-232中的(de)信號和管(guan)(guan)腳分(fen)配(pei):


信號(hao)的(de)標注是(shi)從DTE設備(bei)的(de)角度出發的(de),TD、DTR和(he)RTS信號(hao)是(shi)由DTE產(chan)生的(de),RD、DSR、CTS、DCD和(he)RI信號(hao)是(shi)由DCE產(chan)生的(de)。

 

PC 機的(de)RS-232 口(kou)(kou)(kou)為(wei)9 芯針(zhen)插座(zuo)。一些(xie)設備與PC 機連接(jie)(jie)的(de)RS-232 接(jie)(jie)口(kou)(kou)(kou),因為(wei)不使(shi)用對(dui)方的(de)傳(chuan)送(song)(song)控制(zhi)信號(hao),只需三條接(jie)(jie)口(kou)(kou)(kou)線,即“發送(song)(song)數據TXD”、“接(jie)(jie)收數據RXD”和(he)“信號(hao)地GND”。


雙(shuang)向接(jie)口能夠(gou)只(zhi)需要3根線(xian)制作是(shi)(shi)因(yin)為RS-232的(de)所有信(xin)號都共享一個公(gong)共接(jie)地。非平衡電路(lu)使得RS-232非常(chang)的(de)容易受兩設備(bei)間基點(dian)電壓偏移的(de)影響。對于信(xin)號的(de)上(shang)升(sheng)期和(he)下降期,RS-232也(ye)只(zhi)有相對較差的(de)控制能力,很容易發(fa)生(sheng)串話的(de)問題。RS-232被推薦在短(duan)距離(15m以(yi)內)間通信(xin)。由(you)于非對稱電路(lu)的(de)關系,RS-232接(jie)口電纜通常(chang)不是(shi)(shi)由(you)雙(shuang)絞線(xian)制作的(de)。

 

3、傳(chuan)輸電(dian)纜(lan)

 

RS-232-C標準規定的數(shu)據(ju)傳輸速率為每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特,驅動(dong)器允許有2500pF的電容負載,通信距離將受(shou)此(ci)電容限制。

 

例如(ru),采(cai)用150pF/m的(de)通信(xin)(xin)電纜時,最大(da)通信(xin)(xin)距(ju)離(li)為15m;若(ruo)每米電纜的(de)電容量減小(xiao),通信(xin)(xin)距(ju)離(li)可以(yi)增加。傳(chuan)輸距(ju)離(li)短的(de)另一原(yuan)因是RS-232屬單端(duan)信(xin)(xin)號傳(chuan)送,存在共(gong)地噪聲和不能抑制共(gong)模(mo)干(gan)擾等(deng)問題,因此(ci)一般(ban)用于20m以(yi)內的(de)通信(xin)(xin)。

 

由RS-232C標準規(gui)定在碼(ma)元(yuan)畸(ji)變(bian)小(xiao)于4%的情況下,傳(chuan)輸電纜長(chang)度應為(wei)(wei)(wei)(wei)50 英尺,其(qi)實這個4%的碼(ma)元(yuan)畸(ji)變(bian)是很保(bao)守的,在實際應用中,約有99%的用戶是按(an)碼(ma)元(yuan)畸(ji)變(bian)10-20%的范圍工作(zuo)的,所以實際使(shi)用中最大距離會(hui)遠(yuan)超過50英尺,美(mei)國DEC公(gong)司曾規(gui)定允許碼(ma)元(yuan)畸(ji)變(bian)為(wei)(wei)(wei)(wei)10%而得出(chu)下面實驗結果。其(qi)中1 號(hao)電纜為(wei)(wei)(wei)(wei)屏蔽電纜,型號(hao)為(wei)(wei)(wei)(wei)DECP.NO.9107723 內有三對(dui)雙絞(jiao)線,每(mei)對(dui)由22# AWG 組成(cheng),其(qi)外覆以屏蔽網。2 號(hao)電纜為(wei)(wei)(wei)(wei)不帶屏蔽的電纜。型號(hao)為(wei)(wei)(wei)(wei)DECP.NO.9105856-04是22#AWG 的四(si)芯電纜。


 

4、鏈路層

 

在RS-232標準中,字符是以(yi)一(yi)(yi)(yi)系列(lie)位(wei)(wei)元來一(yi)(yi)(yi)個接一(yi)(yi)(yi)個的傳輸。最長用(yong)的編碼格(ge)式(shi)是異步起(qi)停asynchronous start-stop格(ge)式(shi),它使(shi)用(yong)一(yi)(yi)(yi)個起(qi)始位(wei)(wei)后面緊跟7或8 個數據比特(te),這個可能是奇偶位(wei)(wei),然后是兩個停止位(wei)(wei)。所(suo)以(yi)發送一(yi)(yi)(yi)個字符需要(yao)10比特(te),帶來的一(yi)(yi)(yi)個好的效果是使(shi)全部(bu)的傳輸速率,發送信號(hao)的速率以(yi)10分劃。

 

串行通(tong)信(xin)(xin)在軟件設(she)(she)置(zhi)(zhi)里需要(yao)(yao)做多項設(she)(she)置(zhi)(zhi),最(zui)常見的(de)(de)設(she)(she)置(zhi)(zhi)包括波(bo)(bo)(bo)特(te)(te)率、奇偶校驗和停(ting)止(zhi)位。波(bo)(bo)(bo)特(te)(te)率是指從一(yi)設(she)(she)備(bei)發(fa)到另一(yi)設(she)(she)備(bei)的(de)(de)波(bo)(bo)(bo)特(te)(te)率,即每秒鐘多少比特(te)(te)bits per second (bit/s)。典型(xing)的(de)(de)波(bo)(bo)(bo)特(te)(te)率是300、1200、2400、9600、19200等bit/s。一(yi)般通(tong)信(xin)(xin)兩端(duan)設(she)(she)備(bei)都要(yao)(yao)設(she)(she)為相同的(de)(de)波(bo)(bo)(bo)特(te)(te)率,但有些設(she)(she)備(bei)也可(ke)以設(she)(she)置(zhi)(zhi)為自(zi)動檢測波(bo)(bo)(bo)特(te)(te)率。

 

奇(qi)(qi)偶校(xiao)(xiao)(xiao)驗(yan)(yan)Parity是用(yong)來驗(yan)(yan)證數(shu)(shu)(shu)(shu)(shu)據的(de)(de)(de)正確性。奇(qi)(qi)偶校(xiao)(xiao)(xiao)驗(yan)(yan)一(yi)般不(bu)用(yong),如果(guo)(guo)使(shi)用(yong),那么(me)既可以做奇(qi)(qi)校(xiao)(xiao)(xiao)驗(yan)(yan)也(ye)可以做偶校(xiao)(xiao)(xiao)驗(yan)(yan)。奇(qi)(qi)偶校(xiao)(xiao)(xiao)驗(yan)(yan)是通過修(xiu)改(gai)每一(yi)發(fa)(fa)送字節(也(ye)可以限制發(fa)(fa)送的(de)(de)(de)字節)來工作的(de)(de)(de)。如果(guo)(guo)不(bu)作奇(qi)(qi)偶校(xiao)(xiao)(xiao)驗(yan)(yan),那么(me)數(shu)(shu)(shu)(shu)(shu)據是不(bu)會(hui)被(bei)改(gai)變的(de)(de)(de)。在偶校(xiao)(xiao)(xiao)驗(yan)(yan)中,因為奇(qi)(qi)偶校(xiao)(xiao)(xiao)驗(yan)(yan)位(wei)會(hui)被(bei)相應的(de)(de)(de)置1或0(一(yi)般是最高位(wei)或最低位(wei)),所以數(shu)(shu)(shu)(shu)(shu)據會(hui)被(bei)改(gai)變以使(shi)得所有(you)(you)(you)傳(chuan)送的(de)(de)(de)數(shu)(shu)(shu)(shu)(shu)位(wei)(含字符(fu)的(de)(de)(de)各數(shu)(shu)(shu)(shu)(shu)位(wei)和校(xiao)(xiao)(xiao)驗(yan)(yan)位(wei))中“1”的(de)(de)(de)個(ge)(ge)數(shu)(shu)(shu)(shu)(shu)為偶數(shu)(shu)(shu)(shu)(shu);在奇(qi)(qi)校(xiao)(xiao)(xiao)驗(yan)(yan)中,所有(you)(you)(you)傳(chuan)送的(de)(de)(de)數(shu)(shu)(shu)(shu)(shu)位(wei)(含字符(fu)的(de)(de)(de)各數(shu)(shu)(shu)(shu)(shu)位(wei)和校(xiao)(xiao)(xiao)驗(yan)(yan)位(wei))中“1”的(de)(de)(de)個(ge)(ge)數(shu)(shu)(shu)(shu)(shu)為奇(qi)(qi)數(shu)(shu)(shu)(shu)(shu)。奇(qi)(qi)偶校(xiao)(xiao)(xiao)驗(yan)(yan)可以用(yong)于(yu)接受方檢查(cha)傳(chuan)輸是否發(fa)(fa)送生(sheng)(sheng)錯(cuo)誤——如果(guo)(guo)某一(yi)字節中“1”的(de)(de)(de)個(ge)(ge)數(shu)(shu)(shu)(shu)(shu)發(fa)(fa)生(sheng)(sheng)了錯(cuo)誤,那么(me)這(zhe)個(ge)(ge)字節在傳(chuan)輸中一(yi)定(ding)有(you)(you)(you)錯(cuo)誤發(fa)(fa)生(sheng)(sheng)。如果(guo)(guo)奇(qi)(qi)偶校(xiao)(xiao)(xiao)驗(yan)(yan)是正確的(de)(de)(de),那么(me)要么(me)沒有(you)(you)(you)發(fa)(fa)生(sheng)(sheng)錯(cuo)誤要么(me)發(fa)(fa)生(sheng)(sheng)了偶數(shu)(shu)(shu)(shu)(shu)個(ge)(ge)的(de)(de)(de)錯(cuo)誤。


 

停止位是在每個字節傳輸(shu)之后發送的(de),它用來幫(bang)助(zhu)接受信號方硬件重(zhong)同步。

 

在串行通(tong)信軟(ruan)件設置(zhi)(zhi)(zhi)中D/P/S是(shi)常規的符號表示。8/N/1(非常普(pu)遍)表明8bit數據,沒(mei)有(you)奇(qi)偶(ou)校(xiao)驗(yan),1bit停(ting)(ting)止位。數據位可以設置(zhi)(zhi)(zhi)為(wei)(wei)7、8或(huo)者(zhe)(zhe)9,奇(qi)偶(ou)校(xiao)驗(yan)位可以設置(zhi)(zhi)(zhi)為(wei)(wei)無(N)、奇(qi)(O)或(huo)者(zhe)(zhe)偶(ou)(E),奇(qi)偶(ou)校(xiao)驗(yan)位可以使(shi)用(yong)(yong)(yong)數據中的比特位,所以8/E/1就表示一(yi)共8位數據位,其(qi)中一(yi)位用(yong)(yong)(yong)來做奇(qi)偶(ou)校(xiao)驗(yan)位。停(ting)(ting)止位可以是(shi)1、1.5或(huo)者(zhe)(zhe)2位的(1.5是(shi)用(yong)(yong)(yong)在波特率(lv)為(wei)(wei)60wpm的電傳(chuan)打字(zi)機(ji)上(shang)的)。

 

5、傳輸(shu)控制

 

當(dang)需要(yao)發送握手信號或數據(ju)(ju)完整(zheng)性檢(jian)測時需要(yao)制定其他設置。公用的(de)組合有RTS/CTS,DTR/DSR或者XON/XOFF(實際中不使用連接器管腳而在(zai)數據(ju)(ju)流內插入(ru)特殊字符)。

 

接(jie)受(shou)(shou)方(fang)(fang)把XON/XOFF信(xin)號發(fa)(fa)(fa)給發(fa)(fa)(fa)送(song)方(fang)(fang)來(lai)(lai)控制發(fa)(fa)(fa)送(song)方(fang)(fang)何時發(fa)(fa)(fa)送(song)數(shu)據(ju),這些(xie)信(xin)號是與發(fa)(fa)(fa)送(song)數(shu)據(ju)的(de)傳(chuan)輸方(fang)(fang)向相反的(de)。XON信(xin)號告(gao)訴(su)發(fa)(fa)(fa)送(song)方(fang)(fang)接(jie)受(shou)(shou)方(fang)(fang)準(zhun)備好接(jie)受(shou)(shou)更多的(de)數(shu)據(ju),XOFF信(xin)號告(gao)訴(su)發(fa)(fa)(fa)送(song)方(fang)(fang)停止發(fa)(fa)(fa)送(song)數(shu)據(ju)直到知道接(jie)受(shou)(shou)方(fang)(fang)再(zai)次準(zhun)備好。XON/XOFF一般不贊成使(shi)用,推薦用RTS/CTS控制流來(lai)(lai)代替它們。

 

 XON/XOFF是一種工作在(zai)(zai)終端間(jian)的(de)帶內(nei)方法,但是必須兩(liang)端都支持這個(ge)協議,而且在(zai)(zai)突然(ran)啟(qi)動的(de)時候(hou)會有混淆的(de)可能。

 

XON/XOFF可(ke)以工作(zuo)于3線的接口。RTS/CTS最初是設計(ji)為(wei)電傳打字(zi)機和調制(zhi)解調器半(ban)雙工協作(zuo)通(tong)信(xin)的,每(mei)次它只能一方調制(zhi)解調器發(fa)送(song)數據。終端必須(xu)發(fa)送(song)請求發(fa)送(song)信(xin)號然后等(deng)到調制(zhi)解調器回應清除(chu)發(fa)送(song)信(xin)號。盡管RTS/CTS是通(tong)過硬件達(da)到握(wo)手,但它有自己的優勢。

 

6、RS-232標準的不足

 

經過許(xu)多年來(lai)RS-232 器件以及通信技術的改進(jin),RS-232 的通信距離已經大大增加。由于RS-232 接口(kou)標準出現(xian)較(jiao)早,難免有(you)不足(zu)之處,主(zhu)要(yao)有(you)以下四(si)點:

(1) 接(jie)口(kou)的信號電(dian)平(ping)值(zhi)較高,易損壞接(jie)口(kou)電(dian)路(lu)的芯片,又因為與TTL 電(dian)平(ping)不兼容故(gu)需使(shi)用電(dian)平(ping)轉(zhuan)換電(dian)路(lu)方能(neng)與TTL 電(dian)路(lu)連接(jie)。 

(2) 傳輸速率(lv)較低,在(zai)異步(bu)傳輸時,波特率(lv)為(wei)20Kbps。現在(zai)由于采用(yong)新的(de)UART 芯片16C550 等,波特率(lv)達到(dao)115.2Kbps。

(3) 接口(kou)使用一(yi)根信(xin)號線和一(yi)根信(xin)號返回線而構成共(gong)(gong)地(di)的傳輸(shu)形(xing)式(shi), 這種(zhong)共(gong)(gong)地(di)傳輸(shu)容易產生共(gong)(gong)模干(gan)擾(rao),所以(yi)抗(kang)噪(zao)聲干(gan)擾(rao)性弱。

(4) 傳輸(shu)距(ju)離有限,最大傳輸(shu)距(ju)離標準值為50 米,實際(ji)上(shang)也(ye)只能用(yong)在15米左右(you)。

 

二、RS485基礎知識

 

針對RS-232串(chuan)口標準的(de)局限性,人們又提出(chu)了RS-422,RS-485接(jie)口標準。RS-485/422采用平衡(heng)發送和差(cha)分(fen)(fen)接(jie)收方式實現通信(xin)(xin)(xin):發送端將(jiang)串(chuan)行口的(de)TTL電平信(xin)(xin)(xin)號(hao)轉換成差(cha)分(fen)(fen)信(xin)(xin)(xin)號(hao)A、B兩路(lu)輸(shu)出(chu),經過線纜(lan)傳(chuan)(chuan)輸(shu)之(zhi)后在(zai)接(jie)收端將(jiang)差(cha)分(fen)(fen)信(xin)(xin)(xin)號(hao)還(huan)原成TTL電平信(xin)(xin)(xin)號(hao)。由(you)于(yu)傳(chuan)(chuan)輸(shu)線通常使用雙絞線,又是(shi)差(cha)分(fen)(fen)傳(chuan)(chuan)輸(shu),所以又極強的(de)抗共模(mo)干擾的(de)能力,總線收發器靈敏度很高,可(ke)以檢測到低至(zhi)200mV電壓。故(gu)傳(chuan)(chuan)輸(shu)信(xin)(xin)(xin)號(hao)在(zai)千米之(zhi)外都是(shi)可(ke)以恢復。

 

1、RS-485 的電氣特(te)性(xing)

 

驅動(dong)器能輸(shu)出±7V的共模電壓

接收器的輸入(ru)電阻RIN≥12kΩ

輸入端(duan)的(de)(de)電(dian)容≤50pF 在節點數為(wei)32個,配置了120Ω的(de)(de)終端(duan)電(dian)阻的(de)(de)情況下,驅動器(qi)(qi)至少還能輸出電(dian)壓(ya)1.5V(終端(duan)電(dian)阻的(de)(de)大小與所(suo)用雙絞線的(de)(de)參數有關) 發送(song)端(duan):邏輯'1'以兩(liang)線間的(de)(de)電(dian)壓(ya)差為(wei)+(2 至6) V 表示(shi);邏輯'0'以兩(liang)線間的(de)(de)電(dian)壓(ya)差為(wei)-(2 至6)V 表示(shi)。接收器(qi)(qi)的(de)(de)輸入靈(ling)敏度為(wei)200mV(即(V+)-(V-)≥0.2V,表示(shi)信(xin)號(hao)(hao)'0';(V+)-(V-)≤-0.2V,表示(shi)信(xin)號(hao)(hao)'1')

 

2、傳輸速率與(yu)傳輸距離

 

RS-485 的(de)數據最(zui)高傳(chuan)輸(shu)速(su)率為10Mbps,最(zui)大的(de)通(tong)信距離(li)約為1219M,傳(chuan)輸(shu)速(su)率與傳(chuan)輸(shu)距離(li)成(cheng)反比,在10Kb/S的(de)傳(chuan)輸(shu)速(su)率下(xia),才可以(yi)達(da)到(dao)最(zui)大的(de)通(tong)信距離(li)。

 

但是(shi)由于RS-485 常常要與PC 機的RS-232口通信,所以實際上一(yi)般最高(gao)115.2Kbps。又由于太高(gao)的速(su)率會使RS-485 傳(chuan)輸距離減(jian)小,所以往往為(wei)9600bps 左(zuo)右或以下。

 

3、網(wang)絡拓(tuo)撲

 

RS-485 接(jie)口是(shi)采用(yong)平衡驅(qu)動器和(he)差(cha)分接(jie)收器的組合,抗(kang)共模干能力(li)增強,即抗(kang)噪聲干擾性好。RS-485采用(yong)半雙工工作(zuo)方式(shi),支持多(duo)點數據通信。

 

RS-485總線(xian)(xian)網(wang)(wang)絡拓撲一般(ban)(ban)采用(yong)終(zhong)端匹配的總線(xian)(xian)型(xing)結(jie)構(gou)。即采用(yong)一條總線(xian)(xian)將各個(ge)(ge)(ge)節點(dian)串接起來(lai),不支(zhi)持(chi)(chi)環(huan)形或(huo)星(xing)型(xing)網(wang)(wang)絡。如果(guo)需(xu)要使(shi)用(yong)星(xing)型(xing)結(jie)構(gou),就必(bi)須(xu)使(shi)用(yong)485中(zhong)繼器或(huo)者(zhe)485集(ji)線(xian)(xian)器才(cai)可以。RS-485/422總線(xian)(xian)一般(ban)(ban)最大(da)支(zhi)持(chi)(chi)32個(ge)(ge)(ge)節點(dian),如果(guo)使(shi)用(yong)特制的485芯片,可以達到128個(ge)(ge)(ge)或(huo)者(zhe)256個(ge)(ge)(ge)節點(dian),最大(da)的可以支(zhi)持(chi)(chi)到400個(ge)(ge)(ge)節點(dian)。


 

4、連接器(qi)

 

RS-485 的(de)國際標(biao)準并沒(mei)有規定(ding)RS485 的(de)接口連(lian)接器(qi)標(biao)準、所以采用接線端子或者DB-9、DB-25 等連(lian)接器(qi)都可以。

 

三、RS422基礎知識

 

RS-422 的電氣性能與(yu)RS-485近似一樣。主要的區別在(zai)于:

(1)RS-485 有2 根(gen)信(xin)號(hao)線:發(fa)送和(he)接收都(dou)是A 和(he)B。由于(yu)RS-485 的收與發(fa)是共(gong)用兩根(gen)線,所以不能夠同時收和(he)發(fa)(半(ban)雙工)。

(2)RS-422 有4 根(gen)(gen)信號線:兩(liang)根(gen)(gen)發送(Y、Z)、兩(liang)根(gen)(gen)接收(A、B)。由于(yu)RS-422 的收與發是分開的,所(suo)以可以同時收和發(全雙工)。

 (3)支持(chi)多機(ji)通(tong)信的(de)RS-422將Y-A 短接(jie)作為RS-485 的(de)A、將RS-422 的(de)Z-B 短接(jie)作為RS-485 的(de)B可(ke)以這樣簡單(dan)轉(zhuan)換為RS-485。


 

很(hen)多(duo)人往往都誤認為(wei)RS-422串(chuan)(chuan)行(xing)接(jie)(jie)(jie)(jie)(jie)口(kou)(kou)(kou)是RS-485串(chuan)(chuan)行(xing)接(jie)(jie)(jie)(jie)(jie)口(kou)(kou)(kou)的(de)(de)全雙(shuang)工版本,實際上(shang),它們在電(dian)器(qi)特(te)性上(shang)存在著不少(shao)差異,共模(mo)電(dian)壓范(fan)圍(wei)和(he)接(jie)(jie)(jie)(jie)(jie)收器(qi)輸入電(dian)阻不同(tong)使得該(gai)兩個標(biao)準適用于不同(tong)的(de)(de)應用領(ling)域。RS-485串(chuan)(chuan)行(xing)接(jie)(jie)(jie)(jie)(jie)口(kou)(kou)(kou)的(de)(de)驅動器(qi)可用于RS-422串(chuan)(chuan)行(xing)接(jie)(jie)(jie)(jie)(jie)口(kou)(kou)(kou)的(de)(de)應用中,因為(wei)RS-485串(chuan)(chuan)行(xing)接(jie)(jie)(jie)(jie)(jie)口(kou)(kou)(kou)滿足所(suo)有的(de)(de)RS-422串(chuan)(chuan)行(xing)接(jie)(jie)(jie)(jie)(jie)口(kou)(kou)(kou)性能參數(shu),反(fan)之則不能成立。對(dui)于RS-485串(chuan)(chuan)行(xing)接(jie)(jie)(jie)(jie)(jie)口(kou)(kou)(kou)的(de)(de)驅動器(qi),共模(mo)電(dian)壓的(de)(de)輸出范(fan)圍(wei)是-7V和(he)+12V之間;對(dui)于RS-422串(chuan)(chuan)行(xing)接(jie)(jie)(jie)(jie)(jie)口(kou)(kou)(kou)的(de)(de)驅動器(qi),該(gai)項性能指標(biao)僅有±7V。RS-422串(chuan)(chuan)行(xing)接(jie)(jie)(jie)(jie)(jie)口(kou)(kou)(kou)接(jie)(jie)(jie)(jie)(jie)收器(qi)的(de)(de)最小(xiao)輸入電(dian)阻是4KΩ;而RS-485串(chuan)(chuan)行(xing)接(jie)(jie)(jie)(jie)(jie)口(kou)(kou)(kou)接(jie)(jie)(jie)(jie)(jie)收器(qi)的(de)(de)最小(xiao)輸入電(dian)阻則是12KΩ。

 

四、串口基礎知識

 

串(chuan)(chuan)口是(shi)計(ji)算機(ji)上一種非常通(tong)用(yong)設備(bei)(bei)通(tong)信的(de)(de)(de)(de)協議(yi)(不(bu)要與通(tong)用(yong)串(chuan)(chuan)行(xing)總線Universal Serial Bus或者USB混(hun)淆(xiao))。大(da)多(duo)數計(ji)算機(ji)包含兩個基于RS232的(de)(de)(de)(de)串(chuan)(chuan)口。串(chuan)(chuan)口同時也是(shi)儀器儀表(biao)設備(bei)(bei)通(tong)用(yong)的(de)(de)(de)(de)通(tong)信協議(yi);很多(duo)GPIB兼容的(de)(de)(de)(de)設備(bei)(bei)也帶有RS-232口。同時,串(chuan)(chuan)口通(tong)信協議(yi)也可以用(yong)于獲(huo)取遠程采(cai)集設備(bei)(bei)的(de)(de)(de)(de)數據(ju)。

 

串口(kou)通信的概(gai)念非常(chang)簡(jian)單,串口(kou)按位(wei)(bit)發(fa)送(song)和接收字節。盡管比(bi)按字節(byte)的并(bing)行通信慢,但是(shi)串口(kou)可以在使用一根(gen)線(xian)發(fa)送(song)數據的同時(shi)用另一根(gen)線(xian)接收數據。它很簡(jian)單并(bing)且能夠實現遠距離(li)通信。比(bi)如IEEE488定義并(bing)行通行狀(zhuang)態(tai)時(shi),規定設備線(xian)總(zong)常(chang)不(bu)(bu)得超(chao)過(guo)20米(mi),并(bing)且任意(yi)兩個(ge)設備間(jian)的長度不(bu)(bu)得超(chao)過(guo)2米(mi);而(er)對于(yu)串口(kou)而(er)言,長度可達1200米(mi)。


 

串(chuan)口(kou)(kou)用(yong)(yong)于ASCII碼字符的(de)傳輸(shu)。通(tong)信(xin)使用(yong)(yong)3根線(xian)完成:(1)地線(xian),(2)發送,(3)接(jie)收。由(you)于串(chuan)口(kou)(kou)通(tong)信(xin)是(shi)異步的(de),端(duan)口(kou)(kou)能夠在(zai)一根線(xian)上發送數據同時在(zai)另一根線(xian)上接(jie)收數據。其(qi)他線(xian)用(yong)(yong)于握手,但是(shi)不是(shi)必須的(de)。串(chuan)口(kou)(kou)通(tong)信(xin)最(zui)重要(yao)的(de)參數是(shi)波特(te)率、數據位、停止位和(he)奇偶校驗。對于兩個進行通(tong)行的(de)端(duan)口(kou)(kou),這些參數必須匹(pi)配:

 

1、波特率

這是(shi)一(yi)個衡量(liang)通(tong)信(xin)速度的(de)(de)參數。它表(biao)示每秒鐘傳送的(de)(de)bit的(de)(de)個數。例(li)如300波特(te)(te)表(biao)示每秒鐘發送300個bit。當我(wo)們提到時(shi)(shi)鐘周期時(shi)(shi),我(wo)們就(jiu)是(shi)指(zhi)波特(te)(te)率(lv)例(li)如如果協(xie)議需(xu)要4800波特(te)(te)率(lv),那么時(shi)(shi)鐘是(shi)4800Hz。這意(yi)味著(zhu)串口通(tong)信(xin)在數據線(xian)上的(de)(de)采樣率(lv)為4800Hz。通(tong)常(chang)(chang)電話線(xian)的(de)(de)波特(te)(te)率(lv)為14400,28800和(he)36600。波特(te)(te)率(lv)可以(yi)遠遠大于這些(xie)值,但是(shi)波特(te)(te)率(lv)和(he)距(ju)離成(cheng)反比。高(gao)波特(te)(te)率(lv)常(chang)(chang)常(chang)(chang)用于放置(zhi)的(de)(de)很(hen)近的(de)(de)儀器間的(de)(de)通(tong)信(xin),典型的(de)(de)例(li)子(zi)就(jiu)是(shi)GPIB設備的(de)(de)通(tong)信(xin)。

2、數據位(wei)

這是(shi)(shi)衡(heng)量(liang)通(tong)信(xin)中實(shi)(shi)際(ji)(ji)數據(ju)(ju)(ju)位(wei)(wei)(wei)的(de)參(can)數。當(dang)計算(suan)機(ji)發送一個(ge)信(xin)息包,實(shi)(shi)際(ji)(ji)的(de)數據(ju)(ju)(ju)不會是(shi)(shi)8位(wei)(wei)(wei)的(de),標準(zhun)(zhun)的(de)值(zhi)是(shi)(shi)5、7和8位(wei)(wei)(wei)。如(ru)何設(she)置取決于你想傳(chuan)送的(de)信(xin)息。比如(ru),標準(zhun)(zhun)的(de)ASCII碼(ma)是(shi)(shi)0~127(7位(wei)(wei)(wei))。擴(kuo)展(zhan)的(de)ASCII碼(ma)是(shi)(shi)0~255(8位(wei)(wei)(wei))。如(ru)果(guo)數據(ju)(ju)(ju)使(shi)用簡單(dan)的(de)文(wen)本(標準(zhun)(zhun) ASCII碼(ma)),那(nei)么每個(ge)數據(ju)(ju)(ju)包使(shi)用7位(wei)(wei)(wei)數據(ju)(ju)(ju)。每個(ge)包是(shi)(shi)指(zhi)一個(ge)字節,包括開始(shi)/停止(zhi)位(wei)(wei)(wei),數據(ju)(ju)(ju)位(wei)(wei)(wei)和奇偶校驗(yan)位(wei)(wei)(wei)。由于實(shi)(shi)際(ji)(ji)數據(ju)(ju)(ju)位(wei)(wei)(wei)取決于通(tong)信(xin)協議的(de)選取,術語“包”指(zhi)任何通(tong)信(xin)的(de)情(qing)況(kuang)。

3、停止位

用(yong)于(yu)(yu)表示(shi)單個包的(de)(de)(de)最(zui)后一(yi)位。典型的(de)(de)(de)值為1,1.5和2位。由于(yu)(yu)數(shu)據是在傳(chuan)輸線(xian)上定時(shi)的(de)(de)(de),并且每一(yi)個設備(bei)有其(qi)自己(ji)的(de)(de)(de)時(shi)鐘(zhong),很(hen)可能在通信(xin)中兩臺設備(bei)間(jian)出現了小小的(de)(de)(de)不(bu)(bu)同(tong)(tong)步(bu)。因此停止(zhi)位不(bu)(bu)僅(jin)僅(jin)是表示(shi)傳(chuan)輸的(de)(de)(de)結(jie)束,并且提(ti)供計算(suan)機(ji)(ji)校正時(shi)鐘(zhong)同(tong)(tong)步(bu)的(de)(de)(de)機(ji)(ji)會。適用(yong)于(yu)(yu)停止(zhi)位的(de)(de)(de)位數(shu)越多(duo),不(bu)(bu)同(tong)(tong)時(shi)鐘(zhong)同(tong)(tong)步(bu)的(de)(de)(de)容忍(ren)程度越大,但是數(shu)據傳(chuan)輸率同(tong)(tong)時(shi)也越慢(man)。4、奇偶校驗位

在串口通信(xin)中一種(zhong)簡(jian)單的(de)檢(jian)錯方式。有四種(zhong)檢(jian)錯方式:偶(ou)、奇(qi)、高(gao)和低。當(dang)然沒有校(xiao)驗(yan)(yan)位(wei)(wei)(wei)也是(shi)(shi)可以的(de)。對于偶(ou)和奇(qi)校(xiao)驗(yan)(yan)的(de)情況,串口會(hui)設(she)置(zhi)校(xiao)驗(yan)(yan)位(wei)(wei)(wei)(數據(ju)(ju)位(wei)(wei)(wei)后面的(de)一位(wei)(wei)(wei)),用(yong)一個(ge)值確保傳(chuan)輸(shu)的(de)數據(ju)(ju)有偶(ou)個(ge)或者奇(qi)個(ge)邏(luo)輯(ji)(ji)高(gao)位(wei)(wei)(wei)。例(li)如(ru),如(ru)果數據(ju)(ju)是(shi)(shi)011,那(nei)么對于偶(ou)校(xiao)驗(yan)(yan),校(xiao)驗(yan)(yan)位(wei)(wei)(wei)為0,保證邏(luo)輯(ji)(ji)高(gao)的(de)位(wei)(wei)(wei)數是(shi)(shi)偶(ou)數個(ge)。如(ru)果是(shi)(shi)奇(qi)校(xiao)驗(yan)(yan),校(xiao)驗(yan)(yan)位(wei)(wei)(wei)位(wei)(wei)(wei)1,這(zhe)樣就(jiu)有3個(ge)邏(luo)輯(ji)(ji)高(gao)位(wei)(wei)(wei)。高(gao)位(wei)(wei)(wei)和低位(wei)(wei)(wei)不真正的(de)檢(jian)查數據(ju)(ju),簡(jian)單置(zhi)位(wei)(wei)(wei)邏(luo)輯(ji)(ji)高(gao)或者邏(luo)輯(ji)(ji)低校(xiao)驗(yan)(yan)。這(zhe)樣使得接收設(she)備(bei)能夠知道一個(ge)位(wei)(wei)(wei)的(de)狀態,有機會(hui)判斷是(shi)(shi)否(fou)有噪聲干(gan)擾了(le)通信(xin)或者是(shi)(shi)否(fou)傳(chuan)輸(shu)和接收數據(ju)(ju)是(shi)(shi)否(fou)不同步。

 

五(wu)、握手基(ji)礎知識

 

RS-232通行方(fang)(fang)式允許簡單(dan)連接三線:Tx、Rx和(he)地線。但(dan)是對(dui)于數(shu)據傳(chuan)輸,雙方(fang)(fang)必須對(dui)數(shu)據定時采用使用相同的(de)波特(te)率。盡管這種(zhong)方(fang)(fang)法對(dui)于大多數(shu)應用已(yi)經足(zu)夠,但(dan)是對(dui)于接收方(fang)(fang)過載的(de)情(qing)況這種(zhong)使用受到限制(zhi)。這時需要串口的(de)握(wo)(wo)手(shou)(shou)(shou)功(gong)能。在這一(yi)部(bu)分,我們討論三種(zhong)最常用的(de)RS-232握(wo)(wo)手(shou)(shou)(shou)形式:軟(ruan)件握(wo)(wo)手(shou)(shou)(shou)、硬(ying)件握(wo)(wo)手(shou)(shou)(shou)和(he)Xmodem。

 

1、軟件握手(shou)

我(wo)們討(tao)論的(de)(de)第一種握手是軟件握手。通常用(yong)在(zai)實際(ji)數據(ju)是控制(zhi)字符(fu)(fu)的(de)(de)情(qing)況,類似于GPIB使(shi)(shi)用(yong)命令字符(fu)(fu)串的(de)(de)方式。必須(xu)的(de)(de)線仍然(ran)是三根(gen):Tx、Rx和地線,因為控制(zhi)字符(fu)(fu)在(zai)傳輸(shu)線上和普(pu)通字符(fu)(fu)沒有區別(bie),函數SetXModem允(yun)許用(yong)戶(hu)(hu)使(shi)(shi)能(neng)或(huo)者禁止用(yong)戶(hu)(hu)使(shi)(shi)用(yong)兩(liang)個控制(zhi)字符(fu)(fu)XON和OXFF。這些字符(fu)(fu)在(zai)通信中(zhong)由接收方發送(song),使(shi)(shi)發送(song)方暫停(ting)。


 

例如:假(jia)設發(fa)(fa)(fa)(fa)(fa)送(song)(song)(song)方(fang)(fang)(fang)以(yi)高波特率(lv)發(fa)(fa)(fa)(fa)(fa)送(song)(song)(song)數據。在傳(chuan)(chuan)(chuan)輸(shu)(shu)中(zhong),接(jie)收方(fang)(fang)(fang)發(fa)(fa)(fa)(fa)(fa)現由于CPU忙于其他工作,輸(shu)(shu)入(ru)buffer已經滿了(le)。為了(le)暫時停止傳(chuan)(chuan)(chuan)輸(shu)(shu),接(jie)收方(fang)(fang)(fang)發(fa)(fa)(fa)(fa)(fa)送(song)(song)(song)XOFF,典型的(de)值是(shi)(shi)十(shi)進(jin)制(zhi)19,即十(shi)六(liu)進(jin)制(zhi)13,直到(dao)輸(shu)(shu)入(ru)buffer空了(le)。一旦接(jie)收方(fang)(fang)(fang)準備好接(jie)收,它(ta)發(fa)(fa)(fa)(fa)(fa)送(song)(song)(song)XON,典型的(de)值是(shi)(shi)十(shi)進(jin)制(zhi)17,即十(shi)六(liu)進(jin)制(zhi)11,繼續(xu)通(tong)信。輸(shu)(shu)入(ru)buffer半滿時,LabWindows發(fa)(fa)(fa)(fa)(fa)送(song)(song)(song)XOFF。此(ci)外,如果XOFF傳(chuan)(chuan)(chuan)輸(shu)(shu)被(bei)打斷,LabWindows會在buffer達到(dao)75%和90%時發(fa)(fa)(fa)(fa)(fa)送(song)(song)(song)XOFF。顯然(ran),發(fa)(fa)(fa)(fa)(fa)送(song)(song)(song)方(fang)(fang)(fang)必須遵循(xun)此(ci)守則以(yi)保證(zheng)傳(chuan)(chuan)(chuan)輸(shu)(shu)繼續(xu)。

 

2、硬件(jian)握手

第(di)(di)二種是(shi)(shi)使用(yong)硬件線(xian)(xian)握手。和Tx和Rx線(xian)(xian)一(yi)(yi)(yi)樣(yang),RTS/CTS和DTR/DSR一(yi)(yi)(yi)起工作(zuo),一(yi)(yi)(yi)個(ge)作(zuo)為輸出,另(ling)一(yi)(yi)(yi)個(ge)作(zuo)為輸入。第(di)(di)一(yi)(yi)(yi)組(zu)線(xian)(xian)是(shi)(shi)RTS (Request to Send)和CTS(Clear to Send)。當接收方準(zhun)(zhun)備好(hao)接收數據,它置高(gao)RTS線(xian)(xian)表(biao)示(shi)(shi)(shi)它準(zhun)(zhun)備好(hao)了,如果發送方也就緒(xu),它置高(gao)CTS,表(biao)示(shi)(shi)(shi)它即將(jiang)發送數據。另(ling)一(yi)(yi)(yi)組(zu)線(xian)(xian)是(shi)(shi)DTR(Data Terminal Ready)和DSR(Data Set Ready)。這些現主(zhu)要用(yong)于(yu)Modem通(tong)信。使得串口和Modem通(tong)信他們的狀態。例如:當Modem已(yi)經準(zhun)(zhun)備好(hao)接收來(lai)自(zi)PC的數據,它置高(gao)DTR線(xian)(xian),表(biao)示(shi)(shi)(shi)和電話(hua)線(xian)(xian)的連(lian)接已(yi)經建(jian)立。讀取DSR線(xian)(xian)置高(gao),PC機(ji)開始(shi)發送數據。一(yi)(yi)(yi)個(ge)簡單的規則是(shi)(shi)DTR/DSR用(yong)于(yu)表(biao)示(shi)(shi)(shi)系統通(tong)信就緒(xu),而(er)RTS/CTS用(yong)于(yu)單個(ge)數據包的傳輸。


 

在LabWindows,函(han)(han)數(shu)SetCTSMode使(shi)(shi)能(neng)(neng)或者禁止使(shi)(shi)用硬件握(wo)手。如(ru)(ru)(ru)(ru)果(guo)CTS模式使(shi)(shi)能(neng)(neng),LabWindows使(shi)(shi)用如(ru)(ru)(ru)(ru)下(xia)規(gui)則:當PC發送(song)數(shu)據:RS-232庫必須檢測CTS線高(gao)(gao)后才能(neng)(neng)發送(song)數(shu)據。當PC接收數(shu)據:如(ru)(ru)(ru)(ru)果(guo)端口(kou)(kou)(kou)打開,且輸入隊(dui)列有空(kong)接收數(shu)據,庫函(han)(han)數(shu)置高(gao)(gao)RTS和DTR。如(ru)(ru)(ru)(ru)果(guo)輸入隊(dui)列90%滿,庫函(han)(han)數(shu)置低RTS,但使(shi)(shi)DTR維持高(gao)(gao)電(dian)平。如(ru)(ru)(ru)(ru)果(guo)端口(kou)(kou)(kou)隊(dui)列近乎(hu)空(kong)了,庫函(han)(han)數(shu)置高(gao)(gao)RTS,但使(shi)(shi)DRT維持高(gao)(gao)電(dian)平。如(ru)(ru)(ru)(ru)果(guo)端口(kou)(kou)(kou)關閉,庫函(han)(han)數(shu)置低RTS和DTR。

 

3、XModem握手

最后討論的(de)握(wo)手叫做XModem文件傳輸(shu)協議(yi)(yi)(yi)。這(zhe)個協議(yi)(yi)(yi)在Modem通信(xin)中非常(chang)通用。盡管它通常(chang)使(shi)用在Modem通信(xin)中,XModem協議(yi)(yi)(yi)能夠直接在其(qi)他遵(zun)循這(zhe)個協議(yi)(yi)(yi)的(de)設備(bei)通信(xin)中使(shi)用。在LabWindows中,實際(ji)的(de)XModem應用對用戶隱藏了(le)。只要PC和(he)其(qi)他設備(bei)使(shi)用XModem協議(yi)(yi)(yi),在文件傳輸(shu)中就使(shi)用LabWindows的(de)XModem函(han)數(shu)。函(han)數(shu)是XModemConfig,XModemSend和(he)XModemReceive。


XModem使用(yong)(yong)介于(yu)如(ru)下參數(shu)(shu)(shu)的(de)(de)協(xie)議:start_of_data、end_of_data、neg_ack、wait_delay、 start_delay、max_tries、packet_size。這(zhe)些(xie)參數(shu)(shu)(shu)需要通信雙方(fang)認定(ding),標準的(de)(de)XModem有(you)一個(ge)標準的(de)(de)定(ding)義(yi):然(ran)而,可以(yi)(yi)通過 XModemConfig函數(shu)(shu)(shu)修改,以(yi)(yi)滿(man)足具體需要。這(zhe)些(xie)參數(shu)(shu)(shu)的(de)(de)使用(yong)(yong)方(fang)法由接收(shou)(shou)(shou)(shou)方(fang)發(fa)(fa)送的(de)(de)字(zi)符neg_ack確定(ding)。這(zhe)通知發(fa)(fa)送方(fang)其(qi)準備接收(shou)(shou)(shou)(shou)數(shu)(shu)(shu)據。它開(kai)始嘗試發(fa)(fa)送,有(you)一個(ge)超(chao)時參數(shu)(shu)(shu)start_delay;當超(chao)時的(de)(de)嘗試超(chao)過max_ties次(ci)數(shu)(shu)(shu),或(huo)者收(shou)(shou)(shou)(shou)到(dao)(dao)接收(shou)(shou)(shou)(shou)方(fang)發(fa)(fa)送的(de)(de)start_of_data,發(fa)(fa)送方(fang)停止嘗試。如(ru)果從發(fa)(fa)送方(fang)收(shou)(shou)(shou)(shou)到(dao)(dao)start_of_data,接收(shou)(shou)(shou)(shou)方(fang)將讀取后繼(ji)信息數(shu)(shu)(shu)據包。包中含有(you)包的(de)(de)數(shu)(shu)(shu)目、包數(shu)(shu)(shu)目的(de)(de)補碼(ma)作(zuo)為錯(cuo)誤校驗(yan)、packet_size字(zi)節大小的(de)(de)實際(ji)數(shu)(shu)(shu)據包,和(he)進一步錯(cuo)誤檢查(cha)的(de)(de)求和(he)校驗(yan)值。在讀取數(shu)(shu)(shu)據后,接收(shou)(shou)(shou)(shou)方(fang)會調用(yong)(yong)wait_delay,然(ran)后想發(fa)(fa)送方(fang)發(fa)(fa)送響應(ying)。如(ru)果發(fa)(fa)送方(fang)沒有(you)收(shou)(shou)(shou)(shou)到(dao)(dao)響應(ying),它會重新發(fa)(fa)送數(shu)(shu)(shu)據包,直(zhi)到(dao)(dao)收(shou)(shou)(shou)(shou)到(dao)(dao)響應(ying)或(huo)者超(chao)過重發(fa)(fa)次(ci)數(shu)(shu)(shu)的(de)(de)最大值max_tries。如(ru)果一直(zhi)沒有(you)收(shou)(shou)(shou)(shou)到(dao)(dao)響應(ying),發(fa)(fa)送方(fang)通知用(yong)(yong)戶傳輸(shu)數(shu)(shu)(shu)據失敗。

 

由(you)于數據(ju)必須(xu)以pack_size個(ge)字(zi)節(jie)按包發(fa)(fa)送(song),當最后一個(ge)數據(ju)包發(fa)(fa)送(song)時(shi),如果數據(ju)不夠(gou)放(fang)滿一個(ge)數據(ju)包,后面(mian)會填充ASCII碼NULL(0)字(zi)節(jie)。這導(dao)致接(jie)收的數據(ju)比原數據(ju)多(duo)。在XModem情況(kuang)下一定不要使用XON/XOFF,因為XModem發(fa)(fa)送(song)方發(fa)(fa)出(chu)包的數目很可能(neng)增(zeng)加到XON/OFF控(kong)制(zhi)字(zi)符的值(zhi),從而導(dao)致通信故障(zhang)。