2025Äêvb´®¿ÚÔ´Â루2025Äêvb´®¿Ú³ÌÐòÔ´Â룩
vb³ÌÐò±àдģÄâ´®¿Ú
1¡¢ÕâÊǵäÐ͵ÄVB´®¿ÚͨÐÅÄã¿ÉÒÔ²ÉÓÃMscomm¿Ø¼þʵÏÖ´®¿ÚͨÐÅʱ£¬Ê×ÏÈÌí¼ÓÒ»Mscomm¿Ø¼þµ½´°ÌåÖУ¬Í¨¹ý²Ëµ¥Ïî¡°¹¤³Ì£¨P£©¡ú²¿¼þ£¨O£©¡±½øÈëÑ¡Ôñ´°¿Ú£¬ÔڿؼþÒ³ÖÐѡȡ¡°Microsoft Comm Control 0¡± £¬´Ëʱ¹¤¾ß´°¿ÚÖгöÏÖMscommͼ±ê£¬¼´¿É±»Ê¹Óá£
2¡¢VB´®¿ÚͨÐÅ´úÂëÏê½âÈçÏ£ºÔÚVB´úÂëÖУ¬ÒýÈëSystem.IO.PortsÃüÃû¿Õ¼ä£¬ÕâÊÇΪÁ˲Ù×÷´®¿Ú¶øÉè¡£½ÓÏÂÀ´£¬´´½¨Ò»¸öSerialPort¶ÔÏó£¬Í¨¹ýËüÄܹ»»ñÈ¡ºÍÉèÖô®¿ÚµÄ¸÷ÏîÊôÐÔ£¬±ÈÈç²¨ÌØÂÊ¡¢Êý¾Ýλ¡¢Í£Ö¹Î»¡¢Ð£ÑéλµÈ¡£´ò¿ª´®¿ÚµÄ·½·¨Êǵ÷ÓÃSerialPort¶ÔÏóµÄOpen£¨£©·½·¨£¬ÕâÒ»²½ÖèÐèÒªÖ¸¶¨Ä¿±êµÄ´®¿Ú¡£
3¡¢×Ðϸ¿´ÁËÏÂLZµÄCOM¿ÚÑ¡Ôñ¿Ø¼þµÄÃû³ÆÓÐÎó£¬Êý×Ö1ÔÚ´úÂëÖÐÊÇ×Öĸl£¬ÒÔÖÂÔì³ÉCOM¿ÚÎÞ·¨Ñ¡Ôñ¡£
ÇóVB.6´®¿Ú½ÓÊÕ×Ö·û´®´úÂë!л
Èô½ÓÊÕ»º³åÇøÖÐ InputLen ×Ö·ûÎÞЧ£¬Input ÊôÐÔ·µ»ØÒ»¸öÁ㳤¶È×Ö·û´® £¨£©¡£ÔÚʹÓà Input ǰ£¬Óû§¿ÉÒÔÑ¡Ôñ¼ì²é InBufferCount ÊôÐÔÀ´È·¶¨»º³åÇøÖÐÊÇ·ñÒÑÓÐÐèÒªÊýÄ¿µÄ×Ö·û¡£¸ÃÊôÐÔÔÚ´ÓÊä³ö¸ñʽΪ¶¨³¤Êý¾ÝµÄ»úÆ÷¶ÁÈ¡Êý¾Ýʱ·Ç³£ÓÐÓá£
VB´®¿ÚͨÐÅ´úÂëÏê½âÈçÏ£ºÔÚVB´úÂëÖУ¬ÒýÈëSystem.IO.PortsÃüÃû¿Õ¼ä£¬ÕâÊÇΪÁ˲Ù×÷´®¿Ú¶øÉè¡£½ÓÏÂÀ´£¬´´½¨Ò»¸öSerialPort¶ÔÏó£¬Í¨¹ýËüÄܹ»»ñÈ¡ºÍÉèÖô®¿ÚµÄ¸÷ÏîÊôÐÔ£¬±ÈÈç²¨ÌØÂÊ¡¢Êý¾Ýλ¡¢Í£Ö¹Î»¡¢Ð£ÑéλµÈ¡£´ò¿ª´®¿ÚµÄ·½·¨Êǵ÷ÓÃSerialPort¶ÔÏóµÄOpen£¨£©·½·¨£¬ÕâÒ»²½ÖèÐèÒªÖ¸¶¨Ä¿±êµÄ´®¿Ú¡£
Ê×ÏÈ¿´¿Ø¼þÇøÓÐÎÞ´®¿Ú¿Ø¼þ£¬±íÃ÷´®¿Ú¿Ø¼þ²¢Î´±»ÆôÓã¬Ñ¡Ôñ¹¤³Ì¡ú²¿¼þ¡úMicosoft comm Control0Ñ¡Ïµã»÷Ó¦Ó㬼´¿ÉÌí¼Ó´®¿Ú¿Ø¼þ¡£»æÖÆÁ½¸ötext¿Ø¼þÓÃÓÚ´æ´¢´®¿ÚÐèÒªÊÕ·¢µÄÊý¾Ý¡£Ò»¸öbutton¿Ø¼þÓÃÓÚ·¢ËÍÖ¸ÁÌí¼Ó´®¿Ú¿Ø¼þ¡£
½ÓÊÕµ½Îļþͷʶ±ð×Ö·ûʱ´ò¿ªÎļþ£¬½ÓÊÕÖÐ;²»Òª¹Ø±ÕÎļþ£¬Ö±µ½½ÓÊÕµ½Îļþ½áÊø·û£¨MscommEOFEnableʼþ·¢Éú£©²ÅÄܹرÕÎļþ¡£
¸ù¾ÝÄãµÄÐèÇó£¬Äã¿ÉÒÔµ÷Õû¿Ø¼þµÄ´óСºÍλÖá£×ܽ᣺ͨ¹ýÒÔÉϲ½Ö裬Äã¾Í³É¹¦µØÔÚVBÏîÄ¿ÖÐÌí¼ÓÁËMSComm¿Ø¼þ¡£Õâ¸ö¿Ø¼þ½«ÔÊÐíÄã½øÐд®¿ÚͨÐŵĿª·¢£¬Èç·¢ËͺͽÓÊÕÊý¾ÝµÈ¡£ÇëÈ·±£ÄãµÄ¼ÆËã»úÁ¬½ÓÁËÕýÈ·µÄ´®¿ÚÉ豸£¬²¢ÅäÖúÃÏàÓ¦µÄ´®¿Ú²ÎÊý£¨Èç²¨ÌØÂÊ¡¢Êý¾Ýλ¡¢Í£Ö¹Î»µÈ£©£¬ÒÔ±ã½øÐÐÕý³£µÄ´®¿ÚͨÐÅ¡£
ʹÓÃvbÈçºÎ¶ÁÈ¡´®¿ÚÊý¾Ý
VB0MsComm¿Ø¼þ¿ÉÒÔÀûÓÃOnCommʼþÁ¬Ðø»ñÈ¡À´×ÔÍâÉè·¢Ë͵ÄÐźš£»ùÓÚ£º1£©MsComm¿Ø¼þµÄRThreshold ÊôÐÔ²»Îª0ºÍÇ¡µ±µÄ½ÓÊÕ´úÂë¡£2£©Ê¹ÓõçÄÔÖ÷°åÎïÀíCOM¿Ú»òPCI¶à´®¿Ú¿¨ÉϵÄCOM¿ÚCOM£¬ÕâÑùµÄCOM¿ÚÊÇȫ˫¹¤µÄ£¬·¢ËÍÓë½ÓÊÕ²»»á³åÍ»¡£
µÚÒ»ÖÖ·½Ê½ÊÇʹÓÃMsComm¿Ø¼þ¡£MsComm¿Ø¼þ¼ò»¯ÁË´®¿ÚͨÐŵĵײã²Ù×÷£¬¿ª·¢ÕßÖ»Ðè±àдÉÙÁ¿´úÂë¼´¿ÉÍê³É¿ª·¢¡£ÕâÖÖ·½·¨×îÊʺÏÊý¾ÝÁ¿²»´ó¡¢Í¨ÐÅÒªÇ󲻸ߵij¡¾°¡£ÔÚʹÓÃMsComm¿Ø¼þʱ£¬ÐèÒªÌØ±ð×¢ÒâÒÔϼ¸¸öÊôÐÔ£º SettingsÊôÐÔ£ºÒÔ×Ö·û´®ÐÎʽÉèÖò¢·µ»Ø²¨ÌØÂÊ¡¢ÆæÅ¼Ð£Ñéλ¡¢Êý¾ÝλºÍֹͣλ¡£
´®¿ÚͨÐÅÉèÖà ÔÚVBÖУ¬Ê×ÏÈÐèÒªÉèÖô®¿ÚͨÐŵIJÎÊý£¬È·±£VB³ÌÐòÓ뵥Ƭ»úÖ®¼äµÄͨÐŲÎÊýÒ»Ö¡£Õâ°üÀ¨²¨ÌØÂÊ¡¢Êý¾Ýλ¡¢Í£Ö¹Î»¡¢Ð£ÑéλµÈ¡£Í¨³££¬ÕâЩÉèÖÿÉÒÔÔÚVBµÄ´®¿Ú¿Ø¼þ£¨ÈçMSComm¿Ø¼þ£©ÖнøÐÐÅäÖ᣷¢ËÍÊý¾Ý ¹¹½¨·¢ËÍÊý¾Ý£º¸ù¾ÝÐÒ飬VBÐèÒª¹¹½¨Ò»¶Î14λµÄÊ®Áù½øÖÆÊý¾Ý£¬²¢·¢ËÍÖÁµ¥Æ¬»ú¡£
Ê×ÏÈ£ºtextboxÀïûÓÐÏÔʾ£¬ÊÇÒòΪSerialPort1ºÍTextBox2²»ÊÇͬһÏ̴߳´½¨µÄ£¬ÐèÒª¿çÏ̲߳Ù×÷¡£ÐèÒªÓõ½Î¯ÍУ¬ÕâÑù²ÅÄÜÏÔʾ³öÀ´¡£Æä´Î£ºÎÒ¾õµÃÓô®¿ÚµÄ½ÓÊÕÊý¾Ýʼþ¸üºÃһЩ¡£
ÎÒÃÇÏëÒªµÄÊÇʵʱµÄÁ¬ÐøµÄÇúÏߣ¬ËùÒÔÒªµ÷ÓÃVBÖеĻÏߵĺ¯Êýline£¨x1£¬y1£©-£¨x2£¬y2£©£¬ÕâÀx1£¬y1£©£¨x2£¬y2£©ÎªËùÒª»µÄÏߵįðµãºÍÖÕµãµÄ×ø±ê¡£
VB´®¿ÚͨÐÅ´úÂëÏê½âÈçÏ£ºÔÚVB´úÂëÖУ¬ÒýÈëSystem.IO.PortsÃüÃû¿Õ¼ä£¬ÕâÊÇΪÁ˲Ù×÷´®¿Ú¶øÉè¡£½ÓÏÂÀ´£¬´´½¨Ò»¸öSerialPort¶ÔÏó£¬Í¨¹ýËüÄܹ»»ñÈ¡ºÍÉèÖô®¿ÚµÄ¸÷ÏîÊôÐÔ£¬±ÈÈç²¨ÌØÂÊ¡¢Êý¾Ýλ¡¢Í£Ö¹Î»¡¢Ð£ÑéλµÈ¡£´ò¿ª´®¿ÚµÄ·½·¨Êǵ÷ÓÃSerialPort¶ÔÏóµÄOpen£¨£©·½·¨£¬ÕâÒ»²½ÖèÐèÒªÖ¸¶¨Ä¿±êµÄ´®¿Ú¡£

VBÖÐÔõô¿ØÖÆ´®¿ÚµÄRTS\CTSÏß?
RTS£©ÏßÓÐЧ¡£Ò»°ãÇé¿öÏ£¬ÓɼÆËã»ú·¢ËÍ Request To Send Ðźŵ½Áª½ÓµÄµ÷ÖÆ½âµ÷Æ÷£¬ÒÔÇëʾÔÊÐí·¢ËÍÊý¾Ý¡£Òò´Ë£¬RTSEnable ÊôÐÔ ÊÇ¿ÉÒÔ¿ØÖÆµÄ ×·ÎÊ£ºÐ»Ð»£¬¼òµ¥µØËµ£¬ÈçÉϵç·ͼËùʾ£¬ÈçºÎÒ»Ö±À¸ßRTS¼°CTSÏߣ¬Ê¹7½ÅһֱΪ¸ßµçƽÊä³ö£¬ÈÃÇÔµç³ÉΪ¿ÉÄÜ¡£
VB¿ÉÒÔʹÓÃMsComm¿Ø¼þÀ´ÊµÏÖ´®¿ÚͨÐÅ¡£MSComm ¿Ø¼þͨ¹ý´®Ðж˿ڴ«ÊäºÍ½ÓÊÕÊý¾Ý£¬ÎªÓ¦ÓóÌÐòÌṩ´®ÐÐͨѶ¹¦ÄÜ¡£MSComm ¿Ø¼þÌṩÏÂÁÐÁ½ÖÖ´¦ÀíͨѶµÄ·½Ê½£ºÊ¼þÇý¶¯Í¨Ñ¶ÊÇ´¦Àí´®Ðж˿ڽ»»¥×÷ÓõÄÒ»Öַdz£ÓÐЧµÄ·½·¨¡£
ÔÚTxDºÍRxDÉÏ£ºÂß¼1£¨MARK£©=-3V¡«-15VÂß¼0£¨SPACE£©=+3¡«+15VÔÚRTS¡¢CTS¡¢DSR¡¢DTRºÍDCDµÈ¿ØÖÆÏßÉÏ£ºÐźÅÓÐЧ£¨½Óͨ£¬ON״̬£¬Õýµçѹ£©=+3V¡«+15VÐźÅÎÞЧ£¨¶Ï¿ª£¬OFF״̬£¬¸ºµçѹ£©=-3V¡«-15VÒÔÉϹ涨˵Ã÷ÁËRS-232C±ê×¼¶ÔÂß¼µçƽµÄ¶¨Òå¡£
True Clear To Send ÏßΪ¸ßµçƽ¡£False Clear To Send ÏßΪµÍµçƽ¡£ËµÃ÷£ºÈç¹û Clear To Send ÏßΪµÍµçƽ £¨CTSHolding = False£© ²¢ÇÒ³¬Ê±Ê±£¬MSComm ¿Ø¼þÉèÖà CommEvent ÊôÐÔΪ comEventCTSTO £¨Clear To Send Timeout£© ²¢²úÉú OnComm ʼþ¡£
Õë½Å5µÄ¶¨Ò壺ÐźŵØÏߣ¨SG£©Õë½Å6µÄ¶¨Òå £ºÊý¾Ý×¼±¸ºÃ£¨DSR£© £¬µ±µ÷ÖÆ/½âµ÷Æ÷Æô¶¯Ê±£¬ÔÚ¾¹ý×ÔÉí¼ì²âºó£¬ÓÃDSRÀ´ÉùÃ÷ÒѾ׼±¸¾ÍÐ÷¡£Õë½Å7µÄ¶¨Òå £ºÇëÇó·¢ËÍ£¨RTS£© £¬È¡µÃ·¢ËÍÐÅÏ¢¡£Õë½Å8µÄ¶¨Ò壺Çå³ý·¢ËÍ£¨CTS£© £¬Çå³ýÊý¾Ý¡£Õë½Å9µÄ¶¨Òå £ºÕñÁåָʾ£¨RI£© £¬·¢³öÌáʾ¡£
TS/CTSÊÇÇëÇó·¢ËÍ/Çå³ý·¢ËÍ£¬ÓÃÓÚ°ëË«¹¤Ê±µÄÊÕ·¢Çл»£¬ÊôÓÚ¸¨ÖúÁ÷¿ØÐźš£°ëË«¹¤µÄÒâ˼ÊÇ˵£¬·¢µÄʱºò²»ÊÕ£¬ÊÕµÄʱºò²»·¢¡£ÄÇôÔõÃ´Çø·ÖÊÕ·¢ÄØ£¿È±Ê¡Ê±ÊÇDCEÏòDTE·¢ËÍÊý¾Ý£¬µ±DTE¾ö¶¨ÏòDCE·¢Êý¾Ýʱ£¬ÏÈÓÐЧRTS£¬±íʾDTEÏ£ÍûÏòDCE·¢ËÍ¡£
ÈçºÎÔÚvbÖÐÌí¼Ó´®¿Ú¿Ø¼þ
1¡¢´ò¿ªVisual Basic¿ª·¢»·¾³£ºÊ×ÏÈ£¬È·±£ÄãµÄ¼ÆËã»úÉÏÒѾ°²×°ÁËVisual Basic£¨VB£©¿ª·¢»·¾³¡£Èç¹ûÉÐδ°²×°£¬ÇëÏÈÏÂÔØ°²×°¡£Ìí¼ÓMSComm¿Ø¼þµ½¿Ø¼þ¹¤¾ßÏ䣺Ôڿؼþ¹¤¾ßÏäµÄ¿Õ°×´¦µã»÷Êó±êÓÒ¼ü£¬Õ⽫µ¯³öÒ»¸ö²Ëµ¥¡£ÔÚµ¯³öµÄ²Ëµ¥ÖУ¬Ñ¡Ôñ¡°²¿¼þ¡±Ñ¡Ïî¡£´Ëʱ£¬»áµ¯³öÒ»¸öÃûΪ¡°²¿¼þ¡±µÄ¶Ô»°¿ò¡£
2¡¢Ê×ÏÈ¿´¿Ø¼þÇøÓÐÎÞ´®¿Ú¿Ø¼þ£¬±íÃ÷´®¿Ú¿Ø¼þ²¢Î´±»ÆôÓã¬Ñ¡Ôñ¹¤³Ì¡ú²¿¼þ¡úMicosoft comm Control0Ñ¡Ïµã»÷Ó¦Ó㬼´¿ÉÌí¼Ó´®¿Ú¿Ø¼þ¡£»æÖÆÁ½¸ötext¿Ø¼þÓÃÓÚ´æ´¢´®¿ÚÐèÒªÊÕ·¢µÄÊý¾Ý¡£Ò»¸öbutton¿Ø¼þÓÃÓÚ·¢ËÍÖ¸ÁÌí¼Ó´®¿Ú¿Ø¼þ¡£
3¡¢MSComm¿Ø¼þÔÚ´®¿Ú±à³Ìʱ·Ç³£·½±ã£¬³ÌÐòÔ±²»±Ø»¨Ê±¼äÈ¥Á˽â½ÏΪ¸´ÔÓµÄAPIº¯Êý£¬¶øÇÒÔÚVBÖÐÈÝÒ×ʹÓá£
4¡¢ÕâÊǵäÐ͵ÄVB´®¿ÚͨÐÅÄã¿ÉÒÔ²ÉÓÃMscomm¿Ø¼þʵÏÖ´®¿ÚͨÐÅʱ£¬Ê×ÏÈÌí¼ÓÒ»Mscomm¿Ø¼þµ½´°ÌåÖУ¬Í¨¹ý²Ëµ¥Ïî¡°¹¤³Ì£¨P£©¡ú²¿¼þ£¨O£©¡±½øÈëÑ¡Ôñ´°¿Ú£¬ÔڿؼþÒ³ÖÐѡȡ¡°Microsoft Comm Control 0¡± £¬´Ëʱ¹¤¾ß´°¿ÚÖгöÏÖMscommͼ±ê£¬¼´¿É±»Ê¹Óá£
vb´®¿ÚͨÐųÌÐòʵÀý
1¡¢MsComm¿Ø¼þµÄRThreshold ÊôÐÔ²»Îª0ºÍÇ¡µ±µÄ½ÓÊÕ´úÂë¡£2£©Ê¹ÓõçÄÔÖ÷°åÎïÀíCOM¿Ú»òPCI¶à´®¿Ú¿¨ÉϵÄCOM¿ÚCOM£¬ÕâÑùµÄCOM¿ÚÊÇȫ˫¹¤µÄ£¬·¢ËÍÓë½ÓÊÕ²»»á³åÍ»¡£3£©¸ßÖÊÁ¿µÄ½ÓÊÕ´úÂëºÍ·ûºÏͨÐÅÐÒéºÍÊý¾ÝÖ¡¹æÔ¼µÄ½ÓÊÕ´¦Àí´úÂë¡£
2¡¢£®´®ÐÐͨÐÅʵÀý ÏÂÃæ¸ø³öÔÚWin2000ÏÂÀûÓÃVB0µÄMSComm¿Ø¼þ¿ª·¢¼ÆËã»úÓëÒ»ÖÇÄܲɼ¯Ä£¿é½øÐд®ÐÐͨÐŵijÌÐòʵÏÖ¡£
3¡¢ÔÚMFCϵÄ32λ´®¿ÚÓ¦ÓóÌÐò 32λÏ´®¿ÚͨÐųÌÐò¿ÉÒÔÓÃÁ½ÖÖ·½·¨ÊµÏÖ£ºÀûÓÃActiveX¿Ø¼þ£»Ê¹ÓÃAPI ͨÐź¯Êý¡£ ʹÓÃActiveX¿Ø¼þ£¬³ÌÐòʵÏַdz£¼òµ¥£¬½á¹¹ÇåÎú£¬È±µãÊÇÇ·Áé»î£»Ê¹ÓÃAPI ͨÐź¯ÊýµÄÓÅȱµãÔò»ù±¾ÉÏÏà·´¡£ ʹÓÃActiveX¿Ø¼þ£º VC++ 0ÌṩµÄMSComm¿Ø¼þͨ¹ý´®Ðж˿ڷ¢ËͺͽÓÊÕÊý¾Ý£¬ÎªÓ¦ÓóÌÐòÌṩ´®ÐÐͨÐŹ¦ÄÜ¡£
4¡¢ÕâÊǵäÐ͵ÄVB´®¿ÚͨÐÅÄã¿ÉÒÔ²ÉÓÃMscomm¿Ø¼þʵÏÖ´®¿ÚͨÐÅʱ£¬Ê×ÏÈÌí¼ÓÒ»Mscomm¿Ø¼þµ½´°ÌåÖУ¬Í¨¹ý²Ëµ¥Ïî¡°¹¤³Ì£¨P£©¡ú²¿¼þ£¨O£©¡±½øÈëÑ¡Ôñ´°¿Ú£¬ÔڿؼþÒ³ÖÐѡȡ¡°Microsoft Comm Control 0¡± £¬´Ëʱ¹¤¾ß´°¿ÚÖгöÏÖMscommͼ±ê£¬¼´¿É±»Ê¹Óá£
5¡¢vbOKOnly + vbCritical£¬ ´®¿Ú´íÎóElseMsgBox ÆäËü´íÎó¡£´íÎóºÅ£º & Err.Number£¬ vbOkOnly + vbCritical£¬ ´®¿Ú´íÎóEnd IfExit SubResume NextEnd SubÔÚ´°ÌåÉÏ·ÅÒ»¸öMSComm1µÄ¿Ø¼þ£¬È»ºóÔÚ³ÌÐòÖоͿÉÒÔʹÓÃÉÏÃæµÄ´úÂëÁË¡£Õâ¶Î´úÂëÑÝʾÁËÒ»¸öÎÞЧ´®¿ÚºÅµÄÔËÐÐЧ¹û¡£