PC機(jī)的異步串行通信編程方法內(nèi)容包括DOS、WINDOWS和BIOS級(jí)PC通信、基于異步通信與器的系統(tǒng)的PC通信以及通信編程方法。
DOS通信PC機(jī)一般常有兩個(gè)異步串行端口,分別稱作COM1和COM2,它們都符合RS-232C標(biāo)準(zhǔn)。在DOS操作系統(tǒng)中,COM1、COM2被作為I/O設(shè)備進(jìn)行管理,COM1、COM2便是它們的邏輯設(shè)備名。據(jù)此,DOS便可通過對COM1、COM2操作實(shí)現(xiàn)異步串行通信。DOS的MODE命令可用以設(shè)置異步串行端口的參數(shù),DOS的COPY命令允許將異步串行端口作為一個(gè)特殊的"文件",進(jìn)行數(shù)據(jù)傳輸。下面舉一個(gè)利用DOS的MODE、COPY命令,進(jìn)行雙機(jī)鍵盤輸入字符傳輸?shù)睦印? MODE命令的格式如下:MODE 端口名:速率,校驗(yàn)方式,數(shù)據(jù)位數(shù),停止位位數(shù)其中端口名為COM1或COM2;傳輸速率可選110、150、300、600、1200、2400、4800或9600bps;校驗(yàn)方式為E(偶校驗(yàn))、(奇校驗(yàn))或N(無校驗(yàn));數(shù)據(jù)位數(shù)為7或8位;停止位位數(shù)為1或2位。通信雙方設(shè)置的參數(shù)應(yīng)一致,如雙方都打入如下命令:MODE COM1:1200,E,7,1則表示雙方以COM1為異步通信端口以1200bps、偶校、7位數(shù)據(jù)位、1位停止位的設(shè)置參數(shù)進(jìn)行通信。DOS中有一標(biāo)準(zhǔn)控制臺(tái)COM,實(shí)際上作輸入時(shí)COM即鍵盤,作輸出時(shí)COM即顯示器。
準(zhǔn)備發(fā)送的PC機(jī)執(zhí)行如下命令:COPY CON:COOM1:表示將從鍵盤收到的信息通過COM1串行口發(fā)送。準(zhǔn)備接收的PC機(jī)執(zhí)行如下命令:COPY COM1:CON:則表示將接收來自COM1串行口信息,并在顯示器上顯示。兩臺(tái)PC機(jī)分別執(zhí)行完上述命令后,在發(fā)送方鍵盤上輸入的字符便會(huì)在接收方顯示器上顯示出來。上面介紹的是用DOS的MODE、COPPPY命令實(shí)現(xiàn)的最簡單的PC通信。在MS-DOS的高版本中(例如MS-DOS V6。0)還提供了一條命令,叫作INTERLNK,實(shí)際上它是一個(gè)通信程序。使用INTERLNK命令和一根連接兩臺(tái)PC機(jī)串行端口的電纜,可以使一臺(tái)PC機(jī)從另一臺(tái)PC機(jī)的磁盤驅(qū)動(dòng)器中存取數(shù)據(jù)并運(yùn)行程序,無需再使用軟盤去拷貝文件。用以鍵入命令的PC機(jī)叫客戶機(jī)(Client),與客戶機(jī)相連的PC機(jī)叫服務(wù)器(Server)??蛻魴C(jī)使用服務(wù)器的驅(qū)動(dòng)器和打印機(jī),服務(wù)器顯示兩臺(tái)PC 機(jī)的連機(jī)狀態(tài)。當(dāng)兩臺(tái)PC機(jī)被INTERLNK連接以后,服務(wù)器上的驅(qū)動(dòng)器便以擴(kuò)驅(qū)動(dòng)器的形式映象到客戶機(jī)上,若兩臺(tái)PC機(jī)原來均有A、B、C三個(gè)驅(qū)動(dòng)器,則連接后客戶機(jī)除了自身的三個(gè)驅(qū)動(dòng)器外,又多了E、F、G(服務(wù)器驅(qū)動(dòng)器映象)三個(gè)擴(kuò)展驅(qū)動(dòng)器,客戶機(jī)可以象使用自己的驅(qū)動(dòng)器一樣使用這些擴(kuò)展驅(qū)動(dòng)器。使用INTERLNK時(shí),每臺(tái)PC機(jī)上至少要有一個(gè)空閑的串行口,還要一根3號(hào)線或7號(hào)線的零調(diào)制解調(diào)器(Null MODEM)串行電纜線,客戶機(jī)上至少有16K空閑內(nèi)存,服務(wù)器上至少有130K空閑內(nèi)存。在客戶機(jī)的CONFIG系統(tǒng)配置文件。SYS中添加如下命令:devive=c:\dos\interlnk。exe/drives:5再重新啟動(dòng)客戶機(jī),便可裝入INTERLNK。這里假設(shè)interlnk。exe存于客戶機(jī)C驅(qū)動(dòng)器的DOS子目錄中,/drives:5參數(shù)用于映象5個(gè)服務(wù)器驅(qū)動(dòng)器,缺省情況下為3個(gè)驅(qū)動(dòng)器。服務(wù)器上啟動(dòng)INTERLNK不需要其CONFIG。SYS作任何改動(dòng),只需在DOS命令提示符下鍵入intersvr即可。此時(shí),屏幕底部出現(xiàn)一行狀態(tài)信息,顯示INTERLNK的連接狀態(tài)。
PC通信Microsoft Windows的應(yīng)用程序Terminal允許用戶PC機(jī)與其它計(jì)算機(jī)連接并交換數(shù)據(jù),也可仿真為將與之交換數(shù)據(jù)的遠(yuǎn)程計(jì)算機(jī)所要求的終端類型。下面給出一臺(tái)PC機(jī)應(yīng)用WINDOWS的Terminal從具有連機(jī)服務(wù)的遠(yuǎn)程系統(tǒng)讀取文件的通信過程。打開終端——使用設(shè)置(Settings)菜單設(shè)置參數(shù)——查閱文件——使用傳輸(Transfers)菜單接收一個(gè)文件——與遠(yuǎn)程計(jì)算機(jī)脫機(jī)——使用phone菜單掛起調(diào)制解調(diào)器——使用文件(File)菜單存儲(chǔ)文件——退出終端
BIOS在PC機(jī)的基本輸入輸出系統(tǒng)(BIOS)中的中斷14H提供了異步串行端口的服務(wù)功能,通過INT 14H提供的四種功能,可訪問串行通信端口,實(shí)現(xiàn)連機(jī)通信。