通常 COM 使用的是9 針D 形連接器,也稱之為RS-232接口,而COM 2 有的使用的是老式的DB25 針連接器,也稱之為RS-422接口,這種接口目前已經(jīng)很少使用。
微星有些型號的主板提供COM口插座,有用戶購買的市售COM線,連接在主板上不能使用。這是因為市售的一些COM線的線序不一樣
COM插座的針腳定義
COM口連接線
主板用的串口線有2種規(guī)格:交叉線和直連線。
看圖片,你會覺得交叉線和直連線是不是叫反了。交叉和直連不是看表面,是依據(jù)線的序號和串口插頭針腳序號的連接來區(qū)別的
主板的串口插座針腳排列
串口線的2種規(guī)格對應2種不同針腳排列的主板。
主流主板采用哪種串口針腳排列
90%的主板都采用直連線的排列。華碩、技嘉、微星、以及大部分二線主板都采用直連線排列。這是微星的串口針腳排列
COMA(串行端口擴充擋板插座)
通過串行端口擴充擋板可以接出一組串行端口。串行端口擴充擋板為選購配件,您可以聯(lián)系當?shù)卮砩藤徺I。
市場銷售的串口線
市場銷售的串口線都沒有標明是哪種接線方式,售貨員也都不清楚。所以購買時- 一定要找人問清楚接線方式是直連線還是交叉線,一定要買直連線。
有些可以當場制作串口線的商家都明白2 種串口線,可以根據(jù)客戶要求制作交叉線或直連線。
主板COM 插座的連接
注意1腳對1腳
BIOS設置
有些COM設備需要特定的中斷和緩沖地址,請在BIOS里選擇。
對于COM來講,接口是一個包含一個函數(shù)指針數(shù)組的內存結構。每一個數(shù)組元素包含的是一個由組件所實現(xiàn)的函數(shù)地址。對于COM而言,接口就是此內存結構,其他東西;均是COM不關心的實現(xiàn)細節(jié)。
在C++中,可以用抽象基類來實現(xiàn)COM接口。由于一個COM組件可以實現(xiàn)支持任意數(shù)目的接口,因此對于這樣的組件,可以用抽象基類的多重繼承來實現(xiàn)。用類來實現(xiàn)組件將比其他方法更為容易。
對于客戶來說,一個組件就是一個接口集??蛻糁荒芡ㄟ^接口才能和COM組件打交道。從整體上講,客戶對于一個組件可以說是知之甚少的。通常情況下,客戶甚至不必知道一個組件所提供的所有接口。
客戶同組件的交互是通過接口完成的。在客戶查詢組件其他的接口時,也是通過接口完成的。這個接口就是IUnknown。Iunknown接口的定義包含在Win32 SDK中的UNKNWN.H的頭文件中,引用如下:
interface IUnknown
{
virtual HRESULT-_ _stdcall QueryInterface(const IID& iid,void **ppv)=0;
virtual ULONG_ _stdcall AddRef( )=0;
virtual ULONG_ _Release( )=0;
};
所有的COM都要繼承IUnknown??梢杂肐unknown的接口指針來查詢該組件的其他的接口,并且每個接口的vtbl中的前三個函數(shù)都是QueryInterface,AddRef和Release。這使得所有的COM接口都可以被當作成IUnknown接口來處理。由于所有的接口都支持QueryInterface,因此組件的任何一個接口都可以被客戶用來獲取它所支持的其他接口。
在用QueryInterface將組件抽象成由多個相互獨立的接口構成的集合后,還需要管理組件的生命期。這一點是通過對接口的引用計數(shù)實現(xiàn)的。客戶并不能直接控制組件的生命期。當使用完一個接口而要用組件的另一個接口時,是不能將改組件釋放的。對組件的釋放可以由組件在客戶使用完所有的組件之后自己完成。IUnknown的另外兩個成員函數(shù)AddRef和Release的作用就是給客戶提供一種讓它指示何時處理完一個接口的手段。
AddRef和Release實現(xiàn)的是一種名為引用技術的內存管理技術。當客戶從組件獲得一個接口時,此引用計數(shù)值將增1。當客戶使用完某個接口時,組件的引用計數(shù)值將減1,當引用計數(shù)值為0時,組件可以將自己從內存中刪除。AddRef和Release可以增加和減少這一計數(shù)值。
評論