| | com jiē kǒu shì zhǐ componentobjectmode jiē kǒu, shì wēi ruǎn dìng yì de biāo zhǔn jiē kǒu。
chuàn kǒu jiào zuò chuàn xíng jiē kǒu, xiàn zài de pc jī yī bān yòu liǎng gè chuàn xíng kǒu com1 hé com2。 chuàn xíng kǒu bù tóng yú bìng xíng kǒu zhī chù zài yú tā de shù jù hé kòng zhì xìn xī shì yī wèi jiē yī wèi dì chuán sòng chū qù de。 suī rán zhè yàng sù dù huì màn yī xiē, dàn chuán sòng jù lí jiào bìng xíng kǒu gèng cháng, yīn cǐ ruò yào jìn xíng jiào cháng jù lí de tōng xìn shí, yìng shǐ yòng chuàn xíng kǒu。 tōng cháng com1 shǐ yòng de shì 9 zhēn d xíng lián jiē qì, yě chēng zhī wéi rs-232 jiē kǒu, ér com2 yòu de shǐ yòng de shì lǎo shì de db25 zhēn lián jiē qì, yě chēng zhī wéi rs-422 jiē kǒu, zhè zhǒng jiē kǒu mù qián yǐ jīng hěn shǎo shǐ yòng。
yī bān jī xiāng yòu liǎng gè, xīn jī xiāng yòu kě néng zhǐ yòu yī gè。 bǐ jì běn diàn nǎo yòu kě néng méi yòu。
yòu hěn duō gōng yè yí qì jiāng tā zuò wéi biāo zhǔn tōng xìn duān kǒu。 tōng xìn de nèi róng yǔ gé shì yī bān fù zài yí qì de yòng hù shuō míng shū zhōng。
jì suàn jī yǔ jì suàn jī huò jì suàn jī yǔ zhōng duān zhī jiān de shù jù chuán sòng kě yǐ cǎi yòng chuàn xíng tōng xùn hé bìng xíng tōng xùn 'èr zhǒng fāng shì。 yóu yú chuàn xíng tōng xùn fāng shì jù yòu shǐ yòng xiàn lù shǎo、 chéng běn dī, tè bié shì zài yuǎn chéng chuán shū shí, bì miǎn liǎo duō tiáo xiàn lù tè xìng de bù yī zhì 'ér bèi guǎng fàn cǎi yòng。 zài chuàn xíng tōng xùn shí, yào qiú tōng xùn shuāng fāng dū cǎi yòng yī gè biāo zhǔn jiē kǒu, shǐ bù tóng de shè bèi kě yǐ fāng biàn dì lián jiē qǐ lái jìn xíng tōng xùn。 rs-232-c jiē kǒu( yòu chēng eiars-232-c) shì mù qián zuì cháng yòng de yī zhǒng chuàn xíng tōng xùn jiē kǒu。 tā shì zài 1970 nián yóu měi guó diàn zǐ gōng yè xié huì( eia) lián hé bèi 'ěr xì tǒng、 tiáozhì jiě diào qì chǎng jiā jí jì suàn jī zhōng duān shēng chǎn chǎng jiā gòng tóng zhì dìng de yòng yú chuàn xíng tōng xùn de biāo zhǔn。 tā de quán míng shì “ shù jù zhōng duān shè bèi( dte) hé shù jù tōng xùn shè bèi( dce) zhī jiān chuàn xíng 'èr jìn zhì shù jù jiāo huàn jiē kǒu jì shù biāo zhǔn ” gāi biāo zhǔn guī dìng cǎi yòng yī gè 25 gè jiǎo de db25 lián jiē qì, duì lián jiē qì de měi gè yǐn jiǎo de xìn hào nèi róng jiā yǐ guī dìng, hái duì gè zhǒng xìn hào de diàn píng jiā yǐ guī dìng。
( 1) jiē kǒu de xìn hào nèi róng shí jì shàng rs-232-c de 25 tiáo yǐn xiàn zhōng yòu xǔ duō shì hěn shàoshǐ yòng de, zài jì suàn jī yǔ zhōng duān tōng xùn zhōng yī bān zhǐ shǐ yòng 3-9 tiáo yǐn xiàn。 rs-232-c zuì cháng yòng de 9 tiáo yǐn xiàn de xìn hào nèi róng jiàn fù biǎo 1 suǒ shì
( 2) jiē kǒu de diàn qì tè xìng zài rs-232-c zhōng rèn hé yī tiáo xìn hào xiàn de diàn yā jūn wéi fù luó ji guān xì。 jí: luó ji“ 1”, -5 héng -15v; luó ji“ 0” +5 héng +15v。 zào shēng róng xiàn wéi 2v。 jí yào qiú jiē shōu qì néng shí bié dī zhì +3v de xìn hào zuò wéi luó ji“ 0”, gāo dào -3v de xìn hào zuò wéi luó ji“ 1”
(3) jiē kǒu de wù lǐ jié gòu rs-232-c jiē kǒu lián jiē qì yī bān shǐ yòng xíng hào wéi db-25 de 25 xìn chā tóu zuò , tōng cháng chā tóu zài dce duān , chā zuò zài dte duān . yī xiē shè bèi yǔ pc jī lián jiē de rs-232-c jiē kǒu , yīn wéi bù shǐ yòng duì fāng de chuán sòng kòng zhì xìn hào , zhǐ xū sān tiáo jiē kǒu xiàn , jí“ fā sòng shù jù”、“ jiē shōu shù jù” hé“ xìn hào dì”。 suǒ yǐ cǎi yòng db-9 de 9 xìn chā tóu zuò, chuán shū xiàn cǎi yòng píng bì shuāng jiǎo xiàn。
( 4) chuán shū diàn lǎn cháng dù yóu rs-232c biāo zhǔn guī dìng zài mǎ yuán jī biàn xiǎo yú 4% de qíng kuàng xià, chuán shū diàn lǎn cháng dù yìng wéi 50 yīng chǐ, qí shí zhè gè 4% de mǎ yuán jī biàn shì hěn bǎo shǒu de, zài shí jì yìng yòng zhōng, yuē yòu 99% de yòng hù shì 'àn mǎ yuán jī biàn 10-20% de fàn wéi gōng zuò de, suǒ yǐ shí jì shǐ yòng zhōng zuì dà jù lí huì yuǎn chāo guò 50 yīng chǐ, měi guó dec gōng sī céng guī dìng yǔn xǔ mǎ yuán jī biàn wéi 10% ér dé chū fù biǎo 2 de shí yàn jiēguǒ。 qí zhōng 1 hào diàn lǎn wéi píng bì diàn lǎn, xíng hào wéi decp.no.9107723 nèi yòu sān duì shuāng jiǎo xiàn, měi duì yóu 22#awg zǔ chéng, qí wài fù yǐ píng bì wǎng。 2 hào diàn lǎn wéi bù dài píng bì de diàn lǎn。 xíng hào wéi decp.no.9105856-04 shì 22#awg de sì xìn diàn lǎn。
1.rs-232-c shì měi guó diàn zǐ gōng yè xié huì eia( electronicindustryassociation) zhì dìng de yī zhǒng chuàn xíng wù lǐ jiē kǒu biāo zhǔn。 rs shì yīng wén“ tuī jiàn biāo zhǔn” de suō xiě, 232 wéi biāozhì hào, c biǎo shì xiū gǎi cì shù。 rs-232-c zǒng xiàn biāo zhǔn shè yòu 25 tiáo xìn hào xiàn, bāo kuò yī gè zhù tōng dào hé yī gè fǔ zhù tōng dào, zài duō shù qíng kuàng xià zhù yào shǐ yòng zhù tōng dào, duì yú yī bān shuāng gōng tōng xìn, jǐn xū jǐ tiáo xìn hào xiàn jiù kě shí xiàn, rú yī tiáo fā sòng xiàn、 yī tiáo jiē shōu xiàn jí yī tiáo dì xiàn。 rs-232-c biāo zhǔn guī dìng de shù jù chuán shū sù shuài wéi měi miǎo 50、 75、 100、 150、 300、 600、 1200、 2400、 4800、 9600、 19200 bō tè。 rs-232-c biāo zhǔn guī dìng, qū dòng qì yǔn xǔ yòu 2500pf de diàn róng fù zài, tōng xìn jù lí jiāng shòu cǐ diàn róng xiàn zhì, lì rú, cǎi yòng 150pf/m de tōng xìn diàn lǎn shí, zuì dà tōng xìn jù lí wéi 15m; ruò měi mǐ diàn lǎn de diàn róng liàng jiǎn xiǎo, tōng xìn jù lí kě yǐ zēng jiā。 chuán shū jù lí duǎn de lìng yī yuán yīn shì rs-232 shǔ dān duān xìn hào chuán sòng, cún zài gòng dì zào shēng hé bù néng yì zhì gòng mó gān rǎo děng wèn tí, yīn cǐ yī bān yòng yú 20m yǐ nèi de tōng xìn。
2.rs-485 zǒng xiàn , zài yào qiú tōng xìn jù lí wéi jǐ shí mǐ dào shàng qiān mǐ shí, guǎng fàn cǎi yòng rs-485 chuàn xíng zǒng xiàn biāo zhǔn。 rs-485 cǎi yòng píng héng fā sòng hé chā fēn jiē shōu, yīn cǐ jù yòu yì zhì gòng mó gān rǎo de néng lì。 jiā shàng zǒng xiàn shōu fā qì jù yòu gāo líng mǐn dù, néng jiǎn cè dī zhì 200mv de diàn yā, gù chuán shū xìn hào néng zài qiān mǐ yǐ wài dé dào huī fù。 rs-485 cǎi yòng bàn shuāng gōng gōng zuò fāng shì, rèn hé shí hòu zhǐ néng yòu yī diǎn chǔyú fā sòng zhuàng tài, yīn cǐ, fā sòng diàn lù xū yóu shǐ néng xìn hào jiā yǐ kòng zhì。 rs-485 yòng yú duō diǎn hù lián shí fēi cháng fāng biàn, kě yǐ shěng diào xǔ duō xìn hào xiàn。 yìng yòng rs-485 kě yǐ lián wǎng gòu chéng fēn bù shì xì tǒng, qí yǔn xǔ zuì duō bìng lián 32 tái qū dòng qì hé 32 tái jiē shōu qì。
yǐ wǎng, pc yǔ zhì néng shè bèi tōng xùn duō jiè zhù rs232、 rs485、 yǐ tài wǎng děng fāng shì, zhù yào qǔ jué yú shè bèi de jiē kǒu guī fàn。 dàn rs232、 rs485 zhǐ néng dài biǎo tōng xùn de wù lǐ jiè zhì céng hé liàn lù céng, rú guǒ yào shí xiàn shù jù de shuāng xiàng fǎng wèn, jiù bì xū zì jǐ biān xiě tōng xùn yìng yòng chéng xù, dàn zhè zhǒng chéng xù duō shù dōubù néng fú hé iso/osi de guī fàn, zhǐ néng shí xiàn jiào dān yī de gōng néng, shì yòng yú dān yī shè bèi lèi xíng, chéng xù bù jù bèi tōng yòng xìng。 zài rs232 huò rs485 shè bèi lián chéng de shè bèi wǎng zhōng, rú guǒ shè bèi shù liàng chāo guò 2 tái, jiù bì xū shǐ yòng rs485 zuò tōng xùn jiè zhì, rs485 wǎng de shè bèi jiān yào xiǎng hù tōng xìn xī zhǐ yòu tōng guò“ zhù( master)” shè bèi zhōng zhuǎn cái néng shí xiàn, zhè gè zhù shè bèi tōng cháng shì pc, ér zhè zhǒng shè bèi wǎng zhōng zhǐ yǔn xǔ cún zài yī gè zhù shè bèi, qí yú quán bù shì cóng( slave) shè bèi。 ér xiàn chǎng zǒng xiàn jì shù shì yǐ iso/osi mó xíng wéi jī chǔ de, jù yòu wán zhěng de ruǎn jiàn zhī chí xì tǒng, néng gòu jiě jué zǒng xiàn kòng zhì、 chōng tū jiǎn cè、 liàn lù wéi hù děng wèn tí。 ... | | com jiē kǒu shì zhǐ ComponentObjectMode jiē kǒu, shì wēi ruǎn dìng yì de biāo zhǔn jiē kǒu。
chuàn kǒu jiào zuò chuàn xíng jiē kǒu, xiàn zài de PC jī yī bān yòu liǎng gè chuàn xíng kǒu COM1 hé COM2。 chuàn xíng kǒu bù tóng yú bìng xíng kǒu zhī chù zài yú tā de shù jù hé kòng zhì xìn xī shì yī wèi jiē yī wèi dì chuán sòng chū qù de。 suī rán zhè yàng sù dù huì màn yī xiē, dàn chuán sòng jù lí jiào bìng xíng kǒu gèng cháng, yīn cǐ ruò yào jìn xíng jiào cháng jù lí de tōng xìn shí, yìng shǐ yòng chuàn xíng kǒu。 tōng cháng COM1 shǐ yòng de shì 9 zhēn D xíng lián jiē qì, yě chēng zhī wéi RS-232 jiē kǒu, ér COM2 yòu de shǐ yòng de shì lǎo shì de DB25 zhēn lián jiē qì, yě chēng zhī wéi RS-422 jiē kǒu, zhè zhǒng jiē kǒu mù qián yǐ jīng hěn shǎo shǐ yòng。
yī bān jī xiāng yòu liǎng gè, xīn jī xiāng yòu kě néng zhǐ yòu yī gè。 bǐ jì běn diàn nǎo yòu kě néng méi yòu。
yòu hěn duō gōng yè yí qì jiāng tā zuò wéi biāo zhǔn tōng xìn duān kǒu。 tōng xìn de nèi róng yǔ gé shì yī bān fù zài yí qì de yòng hù shuō míng shū zhōng。
jì suàn jī yǔ jì suàn jī huò jì suàn jī yǔ zhōng duān zhī jiān de shù jù chuán sòng kě yǐ cǎi yòng chuàn xíng tōng xùn hé bìng xíng tōng xùn 'èr zhǒng fāng shì。 yóu yú chuàn xíng tōng xùn fāng shì jù yòu shǐ yòng xiàn lù shǎo、 chéng běn dī, tè bié shì zài yuǎn chéng chuán shū shí, bì miǎn liǎo duō tiáo xiàn lù tè xìng de bù yī zhì 'ér bèi guǎng fàn cǎi yòng。 zài chuàn xíng tōng xùn shí, yào qiú tōng xùn shuāng fāng dū cǎi yòng yī gè biāo zhǔn jiē kǒu, shǐ bù tóng de shè bèi kě yǐ fāng biàn dì lián jiē qǐ lái jìn xíng tōng xùn。 RS-232-C jiē kǒu( yòu chēng EIARS-232-C) shì mù qián zuì cháng yòng de yī zhǒng chuàn xíng tōng xùn jiē kǒu。 tā shì zài 1970 nián yóu měi guó diàn zǐ gōng yè xié huì( EIA) lián hé bèi 'ěr xì tǒng、 tiáozhì jiě diào qì chǎng jiā jí jì suàn jī zhōng duān shēng chǎn chǎng jiā gòng tóng zhì dìng de yòng yú chuàn xíng tōng xùn de biāo zhǔn。 tā de quán míng shì“ shù jù zhōng duān shè bèi( DTE) hé shù jù tōng xùn shè bèi( DCE) zhī jiān chuàn xíng 'èr jìn zhì shù jù jiāo huàn jiē kǒu jì shù biāo zhǔn” gāi biāo zhǔn guī dìng cǎi yòng yī gè 25 gè jiǎo de DB25 lián jiē qì, duì lián jiē qì de měi gè yǐn jiǎo de xìn hào nèi róng jiā yǐ guī dìng, hái duì gè zhǒng xìn hào de diàn píng jiā yǐ guī dìng。
( 1) jiē kǒu de xìn hào nèi róng shí jì shàng RS-232-C de 25 tiáo yǐn xiàn zhōng yòu xǔ duō shì hěn shàoshǐ yòng de, zài jì suàn jī yǔ zhōng duān tōng xùn zhōng yī bān zhǐ shǐ yòng 3-9 tiáo yǐn xiàn。 RS-232-C zuì cháng yòng de 9 tiáo yǐn xiàn de xìn hào nèi róng jiàn fù biǎo 1 suǒ shì
( 2) jiē kǒu de diàn qì tè xìng zài RS-232-C zhōng rèn hé yī tiáo xìn hào xiàn de diàn yā jūn wéi fù luó ji guān xì。 jí: luó ji“ 1”, -5 héng -15V; luó ji“ 0” +5 héng +15V。 zào shēng róng xiàn wéi 2V。 jí yào qiú jiē shōu qì néng shí bié dī zhì +3V de xìn hào zuò wéi luó ji“ 0”, gāo dào -3V de xìn hào zuò wéi luó ji“ 1”
(3) jiē kǒu de wù lǐ jié gòu RS-232-C jiē kǒu lián jiē qì yī bān shǐ yòng xíng hào wéi DB-25 de 25 xìn chā tóu zuò , tōng cháng chā tóu zài DCE duān , chā zuò zài DTE duān . yī xiē shè bèi yǔ PC jī lián jiē de RS-232-C jiē kǒu , yīn wéi bù shǐ yòng duì fāng de chuán sòng kòng zhì xìn hào , zhǐ xū sān tiáo jiē kǒu xiàn , jí“ fā sòng shù jù”、“ jiē shōu shù jù” hé“ xìn hào dì”。 suǒ yǐ cǎi yòng DB-9 de 9 xìn chā tóu zuò, chuán shū xiàn cǎi yòng píng bì shuāng jiǎo xiàn。
( 4) chuán shū diàn lǎn cháng dù yóu RS-232C biāo zhǔn guī dìng zài mǎ yuán jī biàn xiǎo yú 4% de qíng kuàng xià, chuán shū diàn lǎn cháng dù yìng wéi 50 yīng chǐ, qí shí zhè gè 4% de mǎ yuán jī biàn shì hěn bǎo shǒu de, zài shí jì yìng yòng zhōng, yuē yòu 99% de yòng hù shì 'àn mǎ yuán jī biàn 10-20% de fàn wéi gōng zuò de, suǒ yǐ shí jì shǐ yòng zhōng zuì dà jù lí huì yuǎn chāo guò 50 yīng chǐ, měi guó DEC gōng sī céng guī dìng yǔn xǔ mǎ yuán jī biàn wéi 10% ér dé chū fù biǎo 2 de shí yàn jiēguǒ。 qí zhōng 1 hào diàn lǎn wéi píng bì diàn lǎn, xíng hào wéi DECP.NO.9107723 nèi yòu sān duì shuāng jiǎo xiàn, měi duì yóu 22#AWG zǔ chéng, qí wài fù yǐ píng bì wǎng。 2 hào diàn lǎn wéi bù dài píng bì de diàn lǎn。 xíng hào wéi DECP.NO.9105856-04 shì 22#AWG de sì xìn diàn lǎn。
1.RS-232-C shì měi guó diàn zǐ gōng yè xié huì EIA( ElectronicIndustryAssociation) zhì dìng de yī zhǒng chuàn xíng wù lǐ jiē kǒu biāo zhǔn。 RS shì yīng wén“ tuī jiàn biāo zhǔn” de suō xiě, 232 wéi biāozhì hào, C biǎo shì xiū gǎi cì shù。 RS-232-C zǒng xiàn biāo zhǔn shè yòu 25 tiáo xìn hào xiàn, bāo kuò yī gè zhù tōng dào hé yī gè fǔ zhù tōng dào, zài duō shù qíng kuàng xià zhù yào shǐ yòng zhù tōng dào, duì yú yī bān shuāng gōng tōng xìn, jǐn xū jǐ tiáo xìn hào xiàn jiù kě shí xiàn, rú yī tiáo fā sòng xiàn、 yī tiáo jiē shōu xiàn jí yī tiáo dì xiàn。 RS-232-C biāo zhǔn guī dìng de shù jù chuán shū sù shuài wéi měi miǎo 50、 75、 100、 150、 300、 600、 1200、 2400、 4800、 9600、 19200 bō tè。 RS-232-C biāo zhǔn guī dìng, qū dòng qì yǔn xǔ yòu 2500pF de diàn róng fù zài, tōng xìn jù lí jiāng shòu cǐ diàn róng xiàn zhì, lì rú, cǎi yòng 150pF/m de tōng xìn diàn lǎn shí, zuì dà tōng xìn jù lí wéi 15m; ruò měi mǐ diàn lǎn de diàn róng liàng jiǎn xiǎo, tōng xìn jù lí kě yǐ zēng jiā。 chuán shū jù lí duǎn de lìng yī yuán yīn shì RS-232 shǔ dān duān xìn hào chuán sòng, cún zài gòng dì zào shēng hé bù néng yì zhì gòng mó gān rǎo děng wèn tí, yīn cǐ yī bān yòng yú 20m yǐ nèi de tōng xìn。
2.RS-485 zǒng xiàn , zài yào qiú tōng xìn jù lí wéi jǐ shí mǐ dào shàng qiān mǐ shí, guǎng fàn cǎi yòng RS-485 chuàn xíng zǒng xiàn biāo zhǔn。 RS-485 cǎi yòng píng héng fā sòng hé chā fēn jiē shōu, yīn cǐ jù yòu yì zhì gòng mó gān rǎo de néng lì。 jiā shàng zǒng xiàn shōu fā qì jù yòu gāo líng mǐn dù, néng jiǎn cè dī zhì 200mV de diàn yā, gù chuán shū xìn hào néng zài qiān mǐ yǐ wài dé dào huī fù。 RS-485 cǎi yòng bàn shuāng gōng gōng zuò fāng shì, rèn hé shí hòu zhǐ néng yòu yī diǎn chǔyú fā sòng zhuàng tài, yīn cǐ, fā sòng diàn lù xū yóu shǐ néng xìn hào jiā yǐ kòng zhì。 RS-485 yòng yú duō diǎn hù lián shí fēi cháng fāng biàn, kě yǐ shěng diào xǔ duō xìn hào xiàn。 yìng yòng RS-485 kě yǐ lián wǎng gòu chéng fēn bù shì xì tǒng, qí yǔn xǔ zuì duō bìng lián 32 tái qū dòng qì hé 32 tái jiē shōu qì。
yǐ wǎng, PC yǔ zhì néng shè bèi tōng xùn duō jiè zhù RS232、 RS485、 yǐ tài wǎng děng fāng shì, zhù yào qǔ jué yú shè bèi de jiē kǒu guī fàn。 dàn RS232、 RS485 zhǐ néng dài biǎo tōng xùn de wù lǐ jiè zhì céng hé liàn lù céng, rú guǒ yào shí xiàn shù jù de shuāng xiàng fǎng wèn, jiù bì xū zì jǐ biān xiě tōng xùn yìng yòng chéng xù, dàn zhè zhǒng chéng xù duō shù dōubù néng fú hé ISO/OSI de guī fàn, zhǐ néng shí xiàn jiào dān yī de gōng néng, shì yòng yú dān yī shè bèi lèi xíng, chéng xù bù jù bèi tōng yòng xìng。 zài RS232 huò RS485 shè bèi lián chéng de shè bèi wǎng zhōng, rú guǒ shè bèi shù liàng chāo guò 2 tái, jiù bì xū shǐ yòng RS485 zuò tōng xùn jiè zhì, RS485 wǎng de shè bèi jiān yào xiǎng hù tōng xìn xī zhǐ yòu tōng guò“ zhù( Master)” shè bèi zhōng zhuǎn cái néng shí xiàn, zhè gè zhù shè bèi tōng cháng shì PC, ér zhè zhǒng shè bèi wǎng zhōng zhǐ yǔn xǔ cún zài yī gè zhù shè bèi, qí yú quán bù shì cóng( Slave) shè bèi。 ér xiàn chǎng zǒng xiàn jì shù shì yǐ ISO/OSI mó xíng wéi jī chǔ de, jù yòu wán zhěng de ruǎn jiàn zhī chí xì tǒng, néng gòu jiě jué zǒng xiàn kòng zhì、 chōng tū jiǎn cè、 liàn lù wéi hù děng wèn tí。 ...
yī . zǔ jiàn, duì xiàng mó xíng COM
( COM), shì wēi ruǎn gōng sī wèile jì suàn jī gōng yè de ruǎn jiàn shēng chǎn gèng jiā fú hé rén lèi de xíng wéi fāng shì kāi fā de yī zhǒng xīn de ruǎn jiàn kāi fā jì shù。 zài COM gòu jià xià, rén men kě yǐ kāi fā chū gè zhǒng gè yàng de gōng néng zhuān yī de zǔ jiàn, rán hòu jiāng tā men 'àn zhào xū yào zǔ hé qǐ lái, gòu chéng fù zá de yìng yòng xì tǒng。 yóu cǐ dài lái de hǎo chù shì duō fāng miàn de: kě yǐ jiāng xì tǒng zhōng de zǔ jiàn yòng xīn de tì huàn diào, yǐ biàn suí shí jìn xíng xì tǒng de shēng jí hé dìng zhì; kě yǐ zài duō gè yìng yòng xì tǒng zhōng chóngfù lì yòng tóng yī gè zǔ jiàn; kě yǐ fāng biàn de jiāng yìng yòng xì tǒng kuò zhǎn dào wǎng luò huán jìng xià; COM yǔ yǔ yán, píng tái wú guān de tè xìng shǐ suǒ yòu de chéng xù yuán jūn kě chōng fēn fā huī zì jǐ de cái zhì yǔ zhuān cháng biān xiě zǔ jiàn mó kuài; děng děng。
COM shì kāi fā ruǎn jiàn zǔ jiàn de yī zhǒng fāng fǎ。 zǔ jiàn shí jì shàng shì yī xiē xiǎo de 'èr jìn zhì kě zhí xíng chéng xù, tā men kě yǐ gěi yìng yòng chéng xù, cāo zuò xì tǒng yǐ jí qí tā zǔ jiàn tí gōng fú wù。 kāi fā zì dìng yì de COM zǔ jiàn jiù rú tóng kāi fā dòng tài de, miàn xiàng duì xiàng de API。 duō gè COM duì xiàng kě yǐ lián jiē qǐ lái xíng chéng yìng yòng chéng xù huò zǔ jiàn xì tǒng。 bìng qiě zǔ jiàn kě yǐ zài yùn xíng shí kè, zài bù bèi chóngxīn liàn jiē huò biān yì yìng yòng chéng xù de qíng kuàng xià bèi xiè xià huò tì huàn diào。 Microsoft de xǔ duō jì shù, rú ActiveX,DirectX yǐ jí OLE děngdōu shì jī yú COM 'ér jiàn lì qǐ lái de。 bìng qiě Microsoft de kāi fā rén yuán yě dà liàng shǐ yòng COM zǔ jiàn lái dìng zhì tā men de yìng yòng chéng xù jí cāo zuò xì tǒng。
COM suǒ hán de gài niàn bìng bù zhǐ shì zài MicrosoftWindows cāo zuò xì tǒng xià cái yòu xiào。 COM bìng bù shì yī gè dà de API, tā shí jì shàng xiàng jié gòu huà biān chéng jí miàn xiàng duì xiàng biān chéng fāng fǎ nà yàng, yě shì yī zhǒng biān chéng fāng fǎ。 zài rèn hé yī zhǒng cāo zuò xì tǒng zhōng, kāi fā rén yuán jūn kě yǐ zūn xún“ COM fāng fǎ”。
yī gè yìng yòng chéng xù tōng cháng shǐ yóu dān gè de 'èr jìn zhì wén jiàn zǔ chéng de。 dāng biān yì qì shēng chéng yìng yòng chéng xù zhī hòu, zài duì xià yī gè bǎn běn chóngxīn biān yì bìng fā xíng xīn shēng chéng de bǎn běn zhī qián, yìng yòng chéng xù yī bān bù huì fā shēng rèn hé biàn huà。 cāo zuò xì tǒng, yìng jiàn jí kè hù xū qiú de gǎi biàn dū bì xū děng dào zhěng gè yìng yòng chéng xù bèi chóngxīn shēng chéng。
mù qián zhè zhǒng zhuàng kuàng yǐ jīng fā shēng biàn huà。 kāi fā rén yuán kāi shǐ jiāng dān gè de yìng yòng chéng xù fēn gé chéng dān dú duō gè dú lì de bù fēn, yě jì zǔ jiàn。 zhè zhǒng zuò fǎ de hǎo chù shì kě yǐ suí zhe jì shù de bù duàn fā zhǎn 'ér yòng xīn de zǔ jiàn qǔ dài yǐ yòu de zǔ jiàn。 cǐ shí de yìng yòng chéng xù kě yǐ suí xīn zǔ jiàn bù duàn qǔ dài jiù de zǔ jiàn 'ér jiàn qū wán shàn。 ér qiě lì yòng yǐ yòu de zǔ jiàn, yòng hù hái kě yǐ kuài sù de jiàn lì quán xīn de yìng yòng。
chuán tǒng de zuò fǎ shì jiāng yìng yòng chéng xù fēn gē chéng wén jiàn, mó kuài huò lèi, rán hòu jiāng tā men biān yì bìng liàn jiē chéng yī gè dān mó yìng yòng chéng xù。 tā yǔ zǔ jiàn jiàn lì yìng yòng chéng xù de guò chéng( chēng wéi zǔ jiàn gòu jià) yòu hěn dà de bù tóng。 yī gè zǔ jiàn tóng yī gè wēi xíng yìng yòng chéng xù lèi sì, jí dōushì yǐ jīng biān yì liàn jiē hǎo bìng kě yǐ shǐ yòng de 'èr jìn zhì dài mǎ, yìng yòng chéng xù jiù shì yóu duō gè zhè yàng de zǔ jiàn dǎ bāo 'ér dé dào de。 dān mó yìng yòng chéng xù zhǐ yòu yī gè 'èr jìn zhì dài mǎ mó kuài。 zì dìng yì zǔ jiàn kě yǐ zài yùn xíng shí kè tóng qí tā de zǔ jiàn lián jiē qǐ lái yǐ gòu chéng mǒu gè yìng yòng chéng xù。 zài xū yào duì yìng yòng chéng xù jìn xíng xiū gǎi huò gǎi jìn shí, zhǐ xū yào jiāng gòu chéng cǐ yìng yòng chéng xù de zǔ jiàn zhōng de mǒu gè yòng xīn de bǎn běn tì huàn diào jí kě。
COM, jí zǔ jiàn duì xiàng mó xíng, shì guān yú rú hé jiàn lì zǔ jiàn yǐ jí rú hé tōng guò zǔ jiàn jiàn lì yìng yòng chéng xù de yī gè guī fàn, shuō míng liǎo rú hé kě dòng tài jiāo tì gēngxīn zǔ jiàn。
shǐ yòng zǔ jiàn de yōu diǎn:
zǔ jiàn jià gòu de yī gè yōu diǎn jiù shì yìng yòng kě yǐ suí shí jiān de liú shì 'ér fā zhǎn jìn huà。 chú cǐ zhī wài, shǐ yòng zǔ jiàn hái yòu yī xiē kě yǐ shǐ duì yǐ yòu yìng yòng de shēng jí gèng jiā fāng biàn hé líng huó de yōu diǎn, rú yìng yòng de dìng zhì, zǔ jiàn kù yǐ jí fēn bù shì zǔ jiàn děng。
shǐ yòng zǔ jiàn de zhǒng zhǒng yōu diǎn zhí jiē lái yuán yú kě yǐ jiāng tā men dòng tài de chā rù huò xiè chū yìng yòng。 wèile shí xiàn zhè zhǒng gōng néng, suǒ yòu de zǔ jiàn bì xū mǎn zú liǎng gè tiáo jiàn: dì yī, zǔ jiàn bì xū dòng tài liàn jiē; dì 'èr, tā men bì xū yǐn cáng( huò fēng zhuāng) qí nèi bù shí xiàn xì jié。 dòng tài liàn jiē duì yú zǔ jiàn 'ér yán shì yī gè zhì guān zhòng yào de yào qiú, ér xiāo xī yǐn cáng zé shì dòng tài liàn jiē de yī gè bì yào tiáo jiàn。
èr. jiē kǒu
duì yú COM lái jiǎng, jiē kǒu shì yī gè bāo hán yī gè hán shù zhǐ zhēn shù zǔ de nèi cún jié gòu。 měi yī gè shù zǔ yuán sù bāo hán de shì yī gè yóu zǔ jiàn suǒ shí xiàn de hán shù dì zhǐ。 duì yú COM 'ér yán, jiē kǒu jiù shì cǐ nèi cún jié gòu, qí tā dōng xī; jūn shì COM bù guān xīn de shí xiàn xì jié。
zài C++ zhōng, kě yǐ yòng chōu xiàng jī lèi lái shí xiàn com jiē kǒu 。 yóu yú yī gè COM zǔ jiàn kě yǐ shí xiàn zhī chí rèn yì shù mùdì jiē kǒu, yīn cǐ duì yú zhè yàng de zǔ jiàn, kě yǐ yòng chōu xiàng jī lèi de duō zhòng jì chéng lái shí xiàn。 yòng lèi lái shí xiàn zǔ jiàn jiāng bǐ qí tā fāng fǎ gèng wéi róng yì。
duì yú kè hù lái shuō, yī gè zǔ jiàn jiù shì yī gè jiē kǒu jí。 kè hù zhǐ néng tōng guò jiē kǒu cái néng hé COM zǔ jiàn dǎ jiāo dào。 cóng zhěng tǐ shàng jiǎng, kè hù duì yú yī gè zǔ jiàn kě yǐ shuō shì zhī zhī shèn shǎo de。 tōng cháng qíng kuàng xià, kè hù shèn zhì bù bì zhī dào yī gè zǔ jiàn suǒ tí gōng de suǒ yòu jiē kǒu。
kè hù tóng zǔ jiàn de jiāo hù shì tōng guò jiē kǒu wán chéng de。 zài kè hù chá xún zǔ jiàn qí tā de jiē kǒu shí, yě shì tōng guò jiē kǒu wán chéng de。 zhè gè jiē kǒu jiù shì IUnknown。 Iunknown jiē kǒu de dìng yì bāo hán zài Win32SDK zhōng de UNKNOWN.H de tóu wén jiàn zhōng, yǐn yòng rú xià: interfaceIUnknown
{
virtualHRESULT-__stdcallQueryInterface(constIID&iid,void**ppv)=0;
virtualULONG__stdcallAddRef()=0;
virtualULONG__Release()=0;
};
suǒ yòu de COM dōuyào jì chéng IUnknown。 kě yǐ yòng Iunknown de jiē kǒu zhǐ zhēn lái chá xún gāi zǔ jiàn de qí tā de jiē kǒu, bìng qiě měi gè jiē kǒu de vtbl zhōng de qián sān gè hán shù dōushì QueryInterface,AddRef hé Release。 zhè shǐ dé suǒ yòu de com jiē kǒu dōukě yǐ bèi dāng zuò chéng IUnknown jiē kǒu lái chù lǐ。 yóu yú suǒ yòu de jiē kǒu dū zhī chí QueryInterface, yīn cǐ zǔ jiàn de rèn hé yī gè jiē kǒu dōukě yǐ bèi kè hù yòng lái huò qǔ tā suǒ zhī chí de qí tā jiē kǒu。
zài yòng QueryInterface jiāng zǔ jiàn chōu xiàng chéng yóu duō gè xiāng hù dú lì de jiē kǒu gòu chéng de jí hé hòu, hái xū yào guǎn lǐ zǔ jiàn de shēng mìng qī。 zhè yī diǎn shì tōng guò duì jiē kǒu de yǐn yòng jì shù shí xiàn de。 kè hù bìng bù néng zhí jiē kòng zhì zǔ jiàn de shēng mìng qī。 dāng shǐ yòng wán yī gè jiē kǒu 'ér yào yòng zǔ jiàn de lìng yī gè jiē kǒu shí, shì bù néng jiāng gǎi zǔ jiàn shì fàng de。 duì zǔ jiàn de shì fàng kě yǐ yóu zǔ jiàn zài kè hù shǐ yòng wán suǒ yòu de zǔ jiàn zhī hòu zì jǐ wán chéng。 IUnknown de lìng wài liǎng gè chéng yuán hán shù AddRef hé Release de zuò yòng jiù shì gěi kè hù tí gōng yī zhǒng ràng tā zhǐ shì hé shí chǔlǐ wán yī gè jiē kǒu de shǒu duàn。
AddRef hé Release shí xiàn de shì yī zhǒng míng wéi yǐn yòng jì shù de nèi cún guǎn lǐ jì shù。 dāng kè hù cóng zǔ jiàn huò dé yī gè jiē kǒu shí, cǐ yǐn yòng jì shù zhí jiāng zēng 1。 dāng kè hù shǐ yòng wán mǒu gè jiē kǒu shí, zǔ jiàn de yǐn yòng jì shù zhí jiāng jiǎn 1, dāng yǐn yòng jì shù zhí wéi 0 shí, zǔ jiàn kě yǐ jiāng zì jǐ cóng nèi cún zhōng shān chú。 AddRef hé Release kě yǐ zēng jiā hé jiǎn shǎo zhè yī jì shù zhí。
sān. chuàng jiàn
jiāng zǔ jiàn fēn chéng duō gè jiē kǒu zhǐ shì jiāng dān mó yìng yòng fēn gè chéng duō gè bù fēn de dì yī bù, zǔ jiàn xū yào bèi fàng rù dòng tài liàn jiē kù( DLL) zhōng。 DLL shì yī gè zǔ jiàn fú wù chéng xù, huò zhě shuō shì fā xíng zǔ jiàn de yī zhǒng fāng shì。 zǔ jiàn shí jì shàng yìng kàn chéng shì zài DLL zhōng shí xiàn de jiē kǒu jí。 zài kè hù huò qǔ mǒu gè zǔ jiàn jiē kǒu zhǐ zhēn zhī qián, tā bì xū xiān jiāng xiāng yìng de DLL zhuāng zài dào qí jìn chéng kōng jiān zhōng, bìng chuàng jiàn cǐ zǔ jiàn。
yóu yú kè hù zǔ jiàn suǒ xū yào de suǒ yòu hán shù dōukě yǐ tōng guò mǒu gè jiē kǒu zhǐ zhēn 'ér fǎng wèn dào, yīn cǐ, kě yǐ zài DLL zhōng yǐn chū CreatInstance hán shù jiù kě yǐ shǐ yòng hù diào yòng tā。 zhī hòu, kě yǐ zhuāng zài DLL bìng diào yòng qí zhōng de hán shù。 cǐ gōng néng kě yóu COM kù hán shù CoCreateInstance lái shí xiàn。 CoCreateInstance chuàng jiàn zǔ jiàn de guò chéng shì: chuán gěi tā yī gè CLSID, rán hòu tā chuàng jiàn xiāng yìng de zǔ jiàn, bìng fǎn huí zhǐ xiàng suǒ qǐng qiú de jiē kǒu de zhǐ zhēn。 dàn CoCreateInstance méi yòu gěi kè hù tí gōng yī zhǒng néng kòng zhì zǔ jiàn chuàng jiàn guò chéng de fāng fǎ, quē fá yī dìng de líng huó xìng。 shì shí shàng, cháng yòng lèi chǎng lái chuàng jiàn zǔ jiàn。 lèi chǎng jiù shì yī gè dài yòu néng gòu chuàng jiàn qí tā zǔ jiàn de jiē kǒu de zǔ jiàn。 kè hù xiān chuàng jiàn lèi chǎng běn shēn, rán hòu zài yòng yī gè jiē kǒu( rú IClassFactory) lái chuàng jiàn suǒ xū de zǔ jiàn。 rán hòu hái yào yòng DllRegisterSever zài Windows zhōng zhù cè zhè gè zǔ jiàn。
sì. fù yòng
COM zǔ jiàn kě yǐ bèi fù yòng, tā zhī chí“ jiē kǒu jì chéng”。 zhè zhǒng jì chéng zhǐ de shì yī gè lèi jì chéng qí jī lèi de lèi xíng huò jiē kǒu。 chōu xiàng jī lèi shì yī zhǒng zuì chún cuì de jiē kǒu jì chéng, bìng qiě zhèng hǎo yě bèi yòng lái shí xiàn com jiē kǒu 。 zài COM zhōng, wǒ men kě yǐ yòng bāo róng hé jù hé lái duì zǔ jiàn jìn xíng gǎi zào。
bāo róng shì zài jiē kǒu jí wán chéng de。 wài bù zǔ jiàn bāo hán zhǐ xiàng nèi bù jiē kǒu de zhǐ zhēn。 cǐ shí, wài bù zǔ jiàn jǐn jǐn shì nèi bù zǔ jiàn de yī gè kè hù 'ér yǐ, tā jiāng shǐ yòng nèi bù zǔ jiàn de jiē kǒu lái shí xiàn tā zì jǐ de jiē kǒu。 wài bù zǔ jiàn yě kě yǐ tōng guò jiāng diào yòng zhuǎn fā gěi nèi bù zǔ jiàn de fāng fǎ lái chóngxīn shí xiàn nèi bù zǔ jiàn suǒ zhī chí de mǒu gè jiē kǒu。 bìng qiě wài bù zǔ jiàn hái kě yǐ zài nèi bù zǔ jiàn dài mǎ de qián hòu jiā shàng yī xiē dài mǎ yǐ duì jiē kǒu jìn xíng gǎi zào。
jù hé shì bāo hán de yī zhǒng biàn huà xíng shì。 dāng wài bù zǔ jiàn jù hé liǎo mǒu gè nèi bù zǔ jiàn de yī gè jiē kǒu shí, tā bìng méi yòu xiàng bāo róng nà yàng chóngxīn shí xiàn cǐ jiē kǒu bìng xiǎn shì de jiāng diào yòng qǐng qiú zhuǎn fā gěi nèi bù zǔ jiàn。 xiāng fǎn, wài bù zǔ jiàn zhí jiē bǎ nèi bù zǔ jiàn de jiē kǒu zhǐ zhēn fǎn huí gěi kè hù。 shǐ yòng zhè zhǒng fāng fǎ, wài bù zǔ jiàn jiāng wú xū chóngxīn shí xiàn bìng zhuǎn fā jiē kǒu zhōng de suǒ yòu hán shù liǎo。
bāo róng hé jù hé wéi shí xiàn zǔ jiàn de fù yòng tí gōng liǎo yī zhǒng jí jù lǔ bàng xìng de jī zhì。 zài zǔ jiàn gòu jià xià, kè hù yú zǔ jiàn de shí xiàn wán quán gé lí kāi liǎo。
wǔ. xiǎo jié
yǐ shàng shì guān yú COM de yī xiē jī chǔ zhī shí。 zūn xún COM guī fàn biān xiě de zǔ jiàn jiāng huì jí dà de gǎi biàn chuán tǒng de ruǎn jiàn shēng chǎn fāng shì, jù yòu guǎng kuò de fā zhǎn qián jǐng。 zhè yě jiāng wéi ruǎn jiàn gōng chéng xué yǐn rù xīn de nèi róng hé fāng fǎ。 |
|
|