通常 COM 使用的是9 針D 形連接器,也稱(chēng)之為RS-232接口,而COM 2 有的使用的是老式的DB25 針連接器,也稱(chēng)之為RS-422接口,這種接口目前已經(jīng)很少使用。
微星有些型號(hào)的主板提供COM口插座,有用戶(hù)購(gòu)買(mǎi)的市售COM線,連接在主板上不能使用。這是因?yàn)槭惺鄣囊恍〤OM線的線序不一樣
COM插座的針腳定義

COM口連接線
主板用的串口線有2種規(guī)格:交叉線和直連線。

看圖片,你會(huì)覺(jué)得交叉線和直連線是不是叫反了。交叉和直連不是看表面,是依據(jù)線的序號(hào)和串口插頭針腳序號(hào)的連接來(lái)區(qū)別的

主板的串口插座針腳排列
串口線的2種規(guī)格對(duì)應(yīng)2種不同針腳排列的主板。

主流主板采用哪種串口針腳排列
90%的主板都采用直連線的排列。華碩、技嘉、微星、以及大部分二線主板都采用直連線排列。這是微星的串口針腳排列

COMA(串行端口擴(kuò)充擋板插座)
通過(guò)串行端口擴(kuò)充擋板可以接出一組串行端口。串行端口擴(kuò)充擋板為選購(gòu)配件,您可以聯(lián)系當(dāng)?shù)卮砩藤?gòu)買(mǎi)。



市場(chǎng)銷(xiāo)售的串口線
市場(chǎng)銷(xiāo)售的串口線都沒(méi)有標(biāo)明是哪種接線方式,售貨員也都不清楚。所以購(gòu)買(mǎi)時(shí)- 一定要找人問(wèn)清楚接線方式是直連線還是交叉線,一定要買(mǎi)直連線。
有些可以當(dāng)場(chǎng)制作串口線的商家都明白2 種串口線,可以根據(jù)客戶(hù)要求制作交叉線或直連線。
主板COM 插座的連接
注意1腳對(duì)1腳

BIOS設(shè)置
有些COM設(shè)備需要特定的中斷和緩沖地址,請(qǐng)?jiān)贐IOS里選擇。

對(duì)于COM來(lái)講,接口是一個(gè)包含一個(gè)函數(shù)指針數(shù)組的內(nèi)存結(jié)構(gòu)。每一個(gè)數(shù)組元素包含的是一個(gè)由組件所實(shí)現(xiàn)的函數(shù)地址。對(duì)于COM而言,接口就是此內(nèi)存結(jié)構(gòu),其他東西;均是COM不關(guān)心的實(shí)現(xiàn)細(xì)節(jié)。
在C++中,可以用抽象基類(lèi)來(lái)實(shí)現(xiàn)COM接口。由于一個(gè)COM組件可以實(shí)現(xiàn)支持任意數(shù)目的接口,因此對(duì)于這樣的組件,可以用抽象基類(lèi)的多重繼承來(lái)實(shí)現(xiàn)。用類(lèi)來(lái)實(shí)現(xiàn)組件將比其他方法更為容易。
對(duì)于客戶(hù)來(lái)說(shuō),一個(gè)組件就是一個(gè)接口集??蛻?hù)只能通過(guò)接口才能和COM組件打交道。從整體上講,客戶(hù)對(duì)于一個(gè)組件可以說(shuō)是知之甚少的。通常情況下,客戶(hù)甚至不必知道一個(gè)組件所提供的所有接口。
客戶(hù)同組件的交互是通過(guò)接口完成的。在客戶(hù)查詢(xún)組件其他的接口時(shí),也是通過(guò)接口完成的。這個(gè)接口就是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的接口指針來(lái)查詢(xún)?cè)摻M件的其他的接口,并且每個(gè)接口的vtbl中的前三個(gè)函數(shù)都是QueryInterface,AddRef和Release。這使得所有的COM接口都可以被當(dāng)作成IUnknown接口來(lái)處理。由于所有的接口都支持QueryInterface,因此組件的任何一個(gè)接口都可以被客戶(hù)用來(lái)獲取它所支持的其他接口。
在用QueryInterface將組件抽象成由多個(gè)相互獨(dú)立的接口構(gòu)成的集合后,還需要管理組件的生命期。這一點(diǎn)是通過(guò)對(duì)接口的引用計(jì)數(shù)實(shí)現(xiàn)的。客戶(hù)并不能直接控制組件的生命期。當(dāng)使用完一個(gè)接口而要用組件的另一個(gè)接口時(shí),是不能將改組件釋放的。對(duì)組件的釋放可以由組件在客戶(hù)使用完所有的組件之后自己完成。IUnknown的另外兩個(gè)成員函數(shù)AddRef和Release的作用就是給客戶(hù)提供一種讓它指示何時(shí)處理完一個(gè)接口的手段。
AddRef和Release實(shí)現(xiàn)的是一種名為引用技術(shù)的內(nèi)存管理技術(shù)。當(dāng)客戶(hù)從組件獲得一個(gè)接口時(shí),此引用計(jì)數(shù)值將增1。當(dāng)客戶(hù)使用完某個(gè)接口時(shí),組件的引用計(jì)數(shù)值將減1,當(dāng)引用計(jì)數(shù)值為0時(shí),組件可以將自己從內(nèi)存中刪除。AddRef和Release可以增加和減少這一計(jì)數(shù)值。
電子發(fā)燒友App



















評(píng)論