- 相關(guān)推薦
Windows下多串口的配置與使用
在實(shí)際工作中,我們可能遇到這樣的問題:我們需要Windows同時(shí)控制多個(gè)串口和多個(gè)外設(shè)進(jìn)行通訊。比如說,一個(gè)機(jī)關(guān)或一個(gè)實(shí)驗(yàn)室的門禁系統(tǒng),希望一臺(tái)微機(jī)控制多個(gè)劃卡機(jī)和多個(gè)門禁設(shè)備,這時(shí),普通微機(jī)能夠提供的一個(gè)或兩個(gè)串口顯然就不夠使用了。為了解決這樣的問題,我們采用了配置多功能卡作為Windows的COM3和COM4的辦法,在實(shí)際中取得了很好的效果。
一、設(shè)置多功能卡作為多串口卡
臺(tái)灣MOXA公司提供多種類型的多串口卡,但是它提供的功能在Windows下受到限制,并且也沒有提供相應(yīng)的Windows驅(qū)動(dòng)程序,要在Windows下開發(fā)自己的驅(qū)動(dòng)程序是件很麻煩的事。而現(xiàn)在市面上流行的多功能卡大都具有硬盤口、軟盤口、游戲口、兩個(gè)串行口和兩個(gè)并行口,我們利用多功能卡的兩個(gè)串行口,就可以方便地以很便宜的價(jià)格得到Windows下的多個(gè)串口。
從市場(chǎng)上買來一塊多功能卡后,首先用QAPLUS或其它工具軟件測(cè)試一下你的微機(jī)的硬件配置,主要是I/O端口基地址和中斷信息。一般來說,COM1占用了中斷4和I/O地址0x3f8,COM2占用了中斷3和I/O地址0x2f8,中斷5、中斷9和中斷11一般情況下空閑,COM3和COM4需要的I/O地址0x3e8和0x2e8也都空閑。接下來要做的是按照多功能卡的使用說明將硬盤口、軟盤口、游戲口和并行口的功能屏蔽掉(設(shè)置成disable),將串行口設(shè)置成COM3和COM4,并設(shè)置其相應(yīng)的中斷,如中斷5和中斷9(一般情況下通過跳線設(shè)置)。最后將機(jī)箱打開,把多功能卡插入擴(kuò)展槽,這樣多功能卡就設(shè)置成了多串口卡。這時(shí)候,再用QAPLUS檢測(cè),就可以看到COM3和COM4占用的中斷和I/O地址。
二、配置Windows的多個(gè)串口
多功能卡設(shè)置好之后,啟動(dòng)Windows,選擇并激活控制面板,然后進(jìn)入端口設(shè)置程序。在端口設(shè)置窗口中選擇相應(yīng)端口(如COM3)并點(diǎn)擊"設(shè)置"按鈕,則彈出如圖1所示設(shè)定窗口。
圖1
在設(shè)定窗口中,可以修改串行口的通信協(xié)議,如上面的例子中,將COM3設(shè)為2400bps的波特率,7位數(shù)據(jù)位,無奇偶校驗(yàn),1位停止位,使用Xon/Xoff流控制。設(shè)置完通信協(xié)議后,點(diǎn)擊"高級(jí)"按鈕進(jìn)入高級(jí)設(shè)定如圖2。
圖2
高級(jí)設(shè)定用來設(shè)置串行口的I/O地址和中斷號(hào),如本例中將COM3的I/O端口基地址設(shè)為0x3E8,中斷請(qǐng)求線設(shè)為5。這里的設(shè)定必須和前面提到的用QAPLUS檢測(cè)到的COM3的I/O地址和中斷號(hào)一致。
設(shè)置好后點(diǎn)擊"確定"按鈕回到上一級(jí)窗口,使用同樣的辦法設(shè)置好其它串行口。當(dāng)所有的串行口都設(shè)置好后,重新啟動(dòng)Windows,使剛才的設(shè)定生效。Windows再次啟動(dòng)之后,就可以使用多個(gè)串口進(jìn)行通訊了。
三、在Windows下使用多串口
下面我們用一個(gè)實(shí)驗(yàn)室門禁系統(tǒng)中使用的一個(gè)實(shí)際應(yīng)用程序?yàn)槔齺斫榻BWindows下對(duì)多串口的編程。在我們的系統(tǒng)中,使用了3個(gè)串行口COM1、COM2和COM3,每個(gè)串行口與一個(gè)劃卡器、一個(gè)門禁設(shè)備相連。和串行口打交道的程序叫serial,它完成下面的工作:啟動(dòng)時(shí)serial完成對(duì)串行口COM1、COM2和COM3的初始化;然后它等待串行口的事件通知消息,當(dāng)劃卡器上劃過一個(gè)卡時(shí),它提供8個(gè)ASCII碼數(shù)據(jù)給串行口,Windows收到8個(gè)字符時(shí)給應(yīng)用程序一個(gè)WM-COMMNOTIFY消息。serial在響應(yīng)這個(gè)消息時(shí),它先接收數(shù)據(jù),然后廣播一個(gè)WM-ASK消息,并等待門禁系統(tǒng)控制程序發(fā)回一個(gè)WM-ANSWER消息。在響應(yīng)WM-ANSWER消息時(shí),serial用WM-CHAR消息的形式向門禁系統(tǒng)控制程序發(fā)送從串行口接收到的數(shù)據(jù)。另外,當(dāng)門禁系統(tǒng)控制程序發(fā)來WM-OPENDOOR消息時(shí),serial程序向指定串行口寫入一個(gè)字符‘A’開啟門禁設(shè)備,以讓一個(gè)合法者進(jìn)入。
【W(wǎng)indows下多串口的配置與使用】相關(guān)文章:
多串口卡·什么是總線接口04-26
多串口卡·什么是端口速率04-26
多串口卡·什么是傳輸距離04-26
多串口卡·什么是端口數(shù)目04-26
多串口卡·什么是多用戶卡04-26
多串口卡·什么是支持操作系統(tǒng)04-26
孩子使用筷子好處多02-27
新一代網(wǎng)絡(luò)配置工具iproute—介紹篇Windows系統(tǒng) -電腦資料04-07