½Ã¸®¾ó Åë½Å Ä«µå
(Serial Communication Board)

   
¾÷µ¥ÀÌÆ®:2017³â 2¿ù


1. ½Ã¸®¾ó Åë½ÅÀ̶õ ¹«¾ùÀԴϱî?

Á÷·Ä Åë½ÅÀº Çϳª ¶Ç´Â µÎ °³ÀÇ Àü¼Û ¶óÀÎÀ» »ç¿ëÇÏ¿© µ¥ÀÌÅ͸¦ ¼Û¼ö½ÅÇÏ´Â Åë½Å ¹æ¹ýÀ¸·Î, ÇÑ ¹ø¿¡ ÇÑ ºñÆ® ¾¿ µ¥ÀÌÅ͸¦ Áö¼ÓÀûÀ¸·Î ÁÖ°í ¹Þ½À´Ï´Ù.

ÀûÀº ½ÅÈ£¼±À¸·Î ¿¬°áÀÌ °¡´ÉÇϱ⠶§¹®¿¡ ¼±Àç¿Í Áß°è ÀåÄ¡ÀÇ ºñ¿ëÀÌ ¾ïÁ¦µÇ´Â µîÀÇ ÀåÁ¡ÀÌ ÀÖ½À´Ï´Ù.








2. ½Ã¸®¾ó Åë½Å ±Ô°Ý

RS-232C / RS-422A / RS-485´Â EIA (ÀüÀÚ »ê¾÷ Çùȸ) Åë½Å Ç¥ÁØÀÔ´Ï´Ù.

ÀÌ·¯ÇÑ Åë½Å Ç¥ÁØ Áß RS-232C´Â ´Ù¾çÇÑ ÀÀ¿ë ºÐ¾ß¿¡¼­ ³Î¸® äÅÃµÇ¾î ¿ÔÀ¸¸ç ÄÄÇ»ÅÍÀÇ Ç¥ÁØ ÀåºñÀ̱⵵ÇÕ´Ï´Ù.

¸ðµ© ¹× ¸¶¿ì½º ¿¬°á¿¡ »ç¿ëµË´Ï´Ù. ¼¾¼­ ¹× ¾×Ãß¿¡ÀÌÅÍ¿¡´Â ÀÌ·¯ÇÑ ÀÎÅÍÆäÀ̽º°¡ Æ÷ÇԵǾî ÀÖÀ¸¸ç ´ëºÎºÐÀÌ Á÷·Ä Åë½ÅÀ» ÅëÇØ Á¦¾î ÇÒ ¼ö ÀÖ½À´Ï´Ù.


RS-232C


ÀÌ Á÷·Ä Åë½Å Ç¥ÁØÀº ³Î¸® »ç¿ëµÇ¸ç Á¾Á¾ Ç¥ÁØÀ¸·Î ÄÄÇ»ÅÍ¿¡ ÀåÂøµË´Ï´Ù."EIA-232"¶ó°íµµÇÕ´Ï´Ù.

½ÅÈ£¼±°ú Ä¿³ØÅÍÀÇ ¸ñÀû°ú ŸÀ̹ÖÀÌ Á¤ÀǵǾú½À´Ï´Ù (D-sub 25 ÇÉ ¶Ç´Â D- sub 9 ÇÉ).

ÇöÀç Ç¥ÁØÀº ½ÅÈ£¼±À» Ãß°¡ÇÏ¿© °³Á¤µÇ¾úÀ¸¸ç Á¤½ÄÀ¸·Î "ANSI / EIA-232-E"¶ó°íÇÕ´Ï´Ù. ±×·¯³ª Áö±ÝÀº ÀϹÝÀûÀ¸·Î "RS-232C"¶ó°íµµÇÕ´Ï´Ù.


RS-422A

ÀÌ Ç¥ÁØÀº ªÀº Àü¼Û °Å¸® ¹× ´À¸° Àü¼Û ¼Óµµ¿Í °°Àº RS-232C ¹®Á¦¸¦ ¼öÁ¤ÇÕ´Ï´Ù. "EIA-422A"¶ó°íµµÇÕ´Ï´Ù.

½ÅÈ£¼±ÀÇ ¸ñÀû°ú ŸÀ̹ÖÀº Á¤ÀǵǾúÁö¸¸ Ä¿³ØÅÍ´Â ¾Æ´Õ´Ï´Ù. ¸¹Àº ȣȯ Á¦Ç° ÁÖ·Î D-sub 25 ÇÉ ¹× D-sub 9 ÇÉ Ä¿³ØÅ͸¦ »ç¿ëÇÕ´Ï´Ù.


RS-485
ÀÌ Ç¥ÁØÀº RS-422A¿¡¼­ ¸î °¡Áö ¿¬°á ÀåÄ¡ÀÇ ¹®Á¦Á¡À» ¼öÁ¤ÇÕ´Ï´Ù. "EIA-485"¶ó°íµµÇÕ´Ï´Ù.

RS-485´Â RS-422A¿Í ȣȯ °¡´ÉÇÑ Ç¥ÁØÀÔ´Ï´Ù.

½ÅÈ£¼±ÀÇ ¸ñÀû°ú ŸÀ̹ÖÀÌ Á¤ÀǵÇÁö¸¸ Ä¿³ØÅÍ ´ëºÎºÐÀÇ È£È¯ Á¦Ç°Àº ÁÖ·Î D-sub 25 ÇÉ ¹× D-sub 9 ÇÉ Ä¿³ØÅ͸¦ äÅÃÇÕ´Ï´Ù.


¸Å°³º¯¼ö
RS-232C
RS-422A
RS-485
Àü¼Û ¸ðµå
´Ü¸é
¸ÖƼÆ÷ÀÎÆ®, ½ÉÇ÷º½º
¸ÖƼÆ÷ÀÎÆ®, ¸ÖƼÇ÷º½º
ÃÖ´ë Á¢¼Ó ´ë¼ö
1 µå¶óÀ̹ö, 1¼ö½Å±â
1°³ÀÇ µå¶óÀ̹ö, 10°³ÀÇ ¼ö½Å±â
32 µå¶óÀ̹ö, 32 ¼ö½Å±â
ÃÖ´ë Àü¼Û ¼Óµµ
20kbps
10Mbps
10Mbps
ÃÖ´ë ÄÉÀÌºí ±æÀÌ
15m
1,200m
1,200m
µ¿ÀÛ ¸ðµå
´ÜÀÏ Á¾´Ü Çü (ºÒ±ÕÇü)
Â÷µ¿ (±ÕÇü À¯Çü)
Â÷µ¿ (±ÕÇü À¯Çü)
¿¬°á À̹ÌÁö
Ư¡
´Ü°Å¸®, ÀüÀÌÁß, 1:1 ¿¬°á
Àå°Å¸®, ÀüÀÌÁß, ¹ÝÀÌÁß, 1:N ¿¬°á
Àå°Å¸®, ÀüÀÌÁß, ¹ÝÀÌÁß, N:N¿¬°á





3. ½ÅÈ£ ¹èÄ¡ ¹× Ä¿³ØÅÍ

RS-232C¿¡¼­´Â »ç¿ëÇÒ Ä¿³ØÅÍ¿Í ½ÅÈ£ ÇÒ´çÀÌ Á¤Àǵǰí Ç¥ÁØÈ­µÇ¾ú½À´Ï´Ù.

±×¸²Àº D-sub 9 ÇÉ ½ÅÈ£ ÁöÁ¤°ú ½ÅÈ£ ¶óÀÎÀ» ³ªÅ¸³À´Ï´Ù.






1. DCD : Data Carrier Detect, ¹Ý¼ÛÆÄ °¨Áö

2. RXD : Receive Data, ¼ö½Å µ¥ÀÌÅÍ

3. TXD : Transmit Data, Àü¼Û µ¥ÀÌÅÍ

4. DTR : Data Terminal Ready, µ¥ÀÌÅÍ Å͹̳ΠÁغñ

5. SG : Signal Ground, ½ÅÈ£ Á¢Áö ¶Ç´Â °øÅë ¸®ÅÏ

6. DSR : Data Set Ready, µ¥ÀÌÅÍ ¼¼Æ® Áغñ

7. RTS : Request To Send, ¼Û½Å ¿ä±¸

8. CTS : Clear to Send, ¼Û½Å Çã°¡

9. RI : Ring Indicator, Âø½Å Ç¥½Ã

CASE FG : Frame Ground, Á¢Áö





4. ¿¬°á ¹æ¹ý

RS-232C¿¡¼­´Â Ä¿³ØÅÍ¿Í ½ÅÈ£ ÇÒ´çÀÌ Ç¥ÁØÈ­µÇ¾î ¸¹Àº Ç¥ÁØ È£È¯ ÄÉÀ̺íÀÌ »ó¾÷ÀûÀ¸·Î Á¦°øµË´Ï´Ù.

±×·¯³ª Àåºñ´Â ´ÙÀ½ À¯ÇüÀ¸·Î Á¦°øµÇ¸ç ¿¬°áµÇ´Â Àåºñ¿¡ µû¶ó Á÷¼± ÄÉÀÌºí ¶Ç´Â Å©·Î½º ¿À¹ö ÄÉÀ̺í ÇÊ¿äÇÕ´Ï´Ù.


DCE

µ¥ÀÌÅÍ Åë½ÅÀåºñ. ÀÌ ¿ë¾î´Â ¸ðµ©, ÇÁ¸°ÅÍ ¹× Ç÷ÎÅÍ¿Í °°ÀÌ ¼öµ¿ÀûÀ¸·Î ÀÛµ¿ÇÏ´Â Àåºñ¸¦ ³ªÅ¸³À´Ï´Ù.


DTE

µ¥ÀÌÅÍ Å͹̳ΠÀåºñ. ÀÌ ¿ë¾î´Â ÄÄÇ»ÅÍ¿Í °°ÀÌ ´Éµ¿ÀûÀ¸·Î ÀÛµ¿ÇÏ´Â Àåºñ¸¦ ³ªÅ¸³À´Ï´Ù.

Å©·Î½º ¿À¹ö ÄÉÀÌºí ¿¬°á(1)
Å©·Î½º ¿À¹ö ÄÉÀÌºí ¿¬°á(2)
Á÷¼± ÄÉÀÌºí ¿¬°á






5. ¹ÝÀÌÁß Åë½Å ¹× ÀüÀÌÁß Åë½Å

ÀüÀÌÁß Åë½Å : ¼Û¼ö½Å ¸ðµÎ ÀÚü Àü¼Û ȸ¼±ÀÌ ÀÖ¾î µ¿½Ã¿¡ µ¥ÀÌÅ͸¦ ¼Û¼ö½Å ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÔ´Ï´Ù.

¹ÝÀÌÁß Åë½Å : ÇϳªÀÇ Àü¼Û ȸ¼±À» »ç¿ëÇÏ¿© ¼Û¼ö½ÅÀ» ÀüȯÇϸ鼭 Åë½ÅÇÏ´Â ¹æ½ÄÀÔ´Ï´Ù. À̶§¹®¿¡ µ¿½Ã Åë½ÅÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù.







6. ºñµ¿±â Åë½Å ¹× µ¿±â½Ä Åë½Å

Á÷·Ä Åë½Å¿¡¼­ µ¥ÀÌÅÍ´Â ÇϳªÀÇ ½ÅÈ£¼±À» »ç¿ëÇÏ¿© Çѹø¿¡ ÇѺñÆ® ¾¿ Àü¼ÛµÇ¹Ç·Î, ¼ö½ÅÃø¿¡¼­ µ¥ÀÌÅ͸¦ Á¤È®ÇÏ°Ô ¼ö½ÅÇÏ·Á¸é ¼Û½ÅÃø¿¡¼­

°¢ ºñÆ®¸¦ Àü¼ÛÇÒ ¼Óµµ¸¦ ¾Ë¾Æ¾ß ÇÕ´Ï´Ù.

RS-232C¿¡¼­ µ¿±â½Ä Åë½Å ¹× ºñµ¿±â Åë½Å Ç¥ÁØÀÌ Á¤ÀÇ µÇ¾ú½À´Ï´Ù.

ÃøÁ¤ ¶Ç´Â Á¦¾î¿¡ »ç¿ëµÇ´Â ÁÖº¯ ÀåÄ¡ÀÇ °æ¿ì, ÀϹÝÀûÀ¸·Î ¾Õ¼­ ¾ð±ÞÇÑ ÀüÀÌÁß Åë½Å°ú ºñµ¿±â Åë½ÅÀÌ ÀϹÝÀûÀ¸·Î »ç¿ëµË´Ï´Ù.


µ¿±â½Ä Åë½Å

ÀÌ ¹æ¹ýÀº ´Ù¸¥ Àåºñ¿¡¼­ »ý¼ºµÈ Ŭ·° ¶Ç´Â ÀÚü »ý¼±µÈ Ŭ·°¿¡ µ¿±âµÈ µ¥ÀÌÅ͸¦ ¼Û¼ö½Å ÇÕ´Ï´Ù.

¼Û½ÅÀº ¼Û½ÅÃø¿¡¼­ °¢ ºñÆ®¿¡ Ãß°¡µÈ µ¿±â ½ÅÈ£¸¦ ±â¹ÝÀ¸·Î ¼öÇàµË´Ï´Ù.

ÀÌ´Â µ¥ÀÌÅÍ Àü¼Û È¿À²ÀÌ ÁÁÁö¸¸ Àü¼Û ÀýÂ÷°¡ º¹ÀâÇØÁø´Ù´Â ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù.


ºñµ¿±â Åë½Å

ÀÌ ¹æ¹ýÀº °¢ ÃøÀÇ ÀÚü »ý¼º Ŭ·Ï¿¡ µ¿±âÈ­ µÈ µ¥ÀÌÅ͸¦ ¼Û¼ö½ÅÇÕ´Ï´Ù.

Àü¼Û ¼Óµµ ¼³Á¤ÀÌ ÀÏÄ¡ÇÏÁö ¾ÊÀ¸¸é Á¤»óÀûÀÎ Åë½ÅÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù. Áï, ¼Û½Å Ãø°ú ¼ö½Å Ãø ¸ðµÎ Ãʱ⿡ Àü¼ÛÇÒ ºñÆ® ¼ö¿¡ ´ëÇØ °¢ ÃÊ,

±×¸®°í ³ª¼­ °¢°¢Àº ±× Àü¼Û ¼Óµµ¿Í ÀÏÄ¡ÇÏ´Â ÁÖÆļöÀÇ µ¿±âÈ­ ½ÅÈ£¸¦ »ý¼ºÇÑ´Ù. ºñµ¿±â Åë½ÅÀÇ °æ¿ì ÇÑ ¹ø¿¡ ÇÑ ºñÆ® ¾¿ µ¥ÀÌÅ͸¦ ¼Û¼ö½ÅÇϹǷÎ

°¢ ÃøÀÇ Åë½Å Á¶°ÇÀÌ Ãʱ⿡ ÀÏÄ¡ÇÏÁö ¾ÊÀ¸¸é Á¤»óÀûÀÎ Åë½ÅÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù.

ÄÄÇ»ÅÍ (ÄÁÆ®·Ñ·¯) Ãø ¼³Á¤À» ÁÖº¯ ±â±â Ãø¿¡ ÀÏÄ¡ ½ÃÅ°¸é ¼³Á¤Àº ÀϹÝÀûÀÎ ¼³Á¤ ¹æ¹ýÀÔ´Ï´Ù.


Àü¼Û ¼Óµµ

ÃÊ´ç º¸³¾ ºñÆ® ¼ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

´ÜÀ§´Â bps (ÃÊ´ç ºñÆ® ¼ö)À̸ç 300, 600, 1200, 2400, 4800, 9600, 19200 µî¿¡¼­ ¼±Åõ˴ϴÙ.

¼³Á¤°ú ŸÀ̹ÖÀÌ ÀÏÄ¡ÇÏ¸é µ¥ÀÌÅÍ ±¸ºÐ ±âÈ£°¡ ÀÏÄ¡ÇÏ°í µ¥ÀÌÅ͸¦ Á¤»óÀûÀ¸·Î ¼Û¼ö½Å ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ ¶§¹®¿¡ ¿Ã¹Ù¸¥ ŸÀ̹ÖÀ» ¾ò±â À§ÇØ °¢ µ¥ÀÌÅÍ Ç׸ñ (1 ¹ÙÀÌÆ®)¿¡ ½ÃÀÛ ºñÆ®°¡ Ãß°¡µË´Ï´Ù.







Á¤Áö ºñÆ® ±æÀÌ


ÀÌ °ªÀº µ¥ÀÌÅÍÀÇ ³¡À» ³ªÅ¸³»´Â ºñÆ®ÀÇ ±æÀ̸¦ ¼³Á¤ÇÕ´Ï´Ù.

ÀÌ°ÍÀº ÀϹÝÀûÀ¸·Î 1 ºñÆ®, 1.5 ºñÆ® ¶Ç´Â 2 ºñÆ®·Î ¼±Åõ˴ϴÙ. ½ÃÀÛ ºñÆ® ±æÀÌ´Â 1 ºñÆ®·Î °íÁ¤µÇ¾î ÀÖÀ¸¹Ç·ÎÀÌ ¼³Á¤ÀÌ ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù.



µ¥ÀÌÅÍ ºñÆ® ±æÀÌ

ÀÌ°ÍÀº °¢ µ¥ÀÌÅÍ Ç׸ñÀÌ ±¸¼ºµÇ´Â ºñÆ® ¼ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

»ç¿ëµÇ´Â ÀåÄ¡¿¡ µû¶ó ´Ù¸£Áö¸¸ ÀϹÝÀûÀ¸·Î ¿µ¼ýÀÚ ¹× ±âÈ£¿¡´Â 7 ºñÆ®¸¦ ÁöÁ¤ÇÏ°í 1 ¹ÙÀÌÆ® ÀÌÁø µ¥ÀÌÅÍ¿¡´Â 8 ºñÆ®¸¦ ÁöÁ¤ÇÕ´Ï´Ù.



Æи®Æ¼ üũ ¼³Á¤

µ¥ÀÌÅÍ¿¡¼­ ¿À·ù¸¦ ã´Â ±â´ÉÀ̸ç "¦¼ö Æи®Æ¼ °Ë»ç (EVEN)", "Ȧ¼ö Æи®Æ¼ °Ë»ç (ODD)"¶Ç´Â "Æи®Æ¼ ¾øÀ½ °Ë»ç (¾øÀ½)"Áß¿¡¼­ ¼±Åõ˴ϴÙ.



Æи®Æ¼ °Ë»ç ¼¼ºÎ Á¤º¸


¼Û½Å Ãø¿¡¼­´Â EVEN¿¡ ´ëÇؼ­µµ "1"µ¥ÀÌÅÍ ºñÆ®ÀÇ ¼ö¸¦, ODD¿¡ ´ëÇؼ­´Â Ȧ¼ö°¡µÇµµ·Ï µ¥ÀÌÅÍ¿¡ "1"¶Ç´Â "0"ÀÇ Æи®Æ¼ ºñÆ®¸¦ Ãß°¡ÇÕ´Ï´Ù.

¼ö½Å Ãø¿¡¼­´Â " 1 "µ¥ÀÌÅÍ ºñÆ®°¡ Ä«¿îÆ®µÇ°í EVEN ÀÏ ¶§µµ ¼ýÀÚ°¡ ODD ÀÎ °æ¿ì µ¥ÀÌÅÍ°¡ ¿Ã¹Ù¸¥ °ÍÀ¸·Î ÆǴܵ˴ϴÙ.

¿¹ : ¦¼ö Æи®Æ¼ °Ë»ç







ÇÚµå ¼ÎÀÌÅ© (È帧 Á¦¾î)

ÀåÄ¡°£¿¡ µ¥ÀÌÅ͸¦ ¼Û¼ö½Å ÇÒ ¶§ ¼ö½Å ÃøÀÌ ¼ö½Å »óÅ°¡ ¾Æ´Ñ °æ¿ì µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ ¶§ µ¥ÀÌÅÍ°¡ ¼Õ½Ç µÉ ¼ö ÀÖÀ¸¹Ç·Î »ó´ëÃøÀÇ »óŸ¦ È®ÀÎÇÏ´Â

°ÍÀÌ Åë½Å¿¡¼­ Áß¿äÇÕ´Ï´Ù.

ÇÚµå ¼ÎÀÌÅ© (È帧 Á¦¾î)´Â Åë½ÅÀÇ ½Å·Ú¼ºÀ» À¯ÁöÇÕ´Ï´Ù. ¼Û½Å Ãø¿¡¼­ "µ¥ÀÌÅ͸¦ ¼Û½Å Áß"À̶ó°íÇÏ´Â ¼ö½Å ÃøÀ¸·Î ½ÅÈ£°¡ º¸³»Áö°í ¼ö½Å Ãø¿¡¼­

±× ½ÅÈ£¸¦ ¼ö½ÅÇÏ¿© ½ÅÈ£¼±¿¡¼­ µ¥ÀÌÅ͸¦ ÀнÀ´Ï´Ù. ±×·¯¸é ¼Û½Å Ãø¿¡ ÀÀ´äÀ» º¸³À´Ï´Ù. "µ¥ÀÌÅÍ°¡ ¼ö½ÅµÇ¾ú½À´Ï´Ù."Áï, °¢ Ãø¸é¿¡¼­ µ¥ÀÌÅÍ

¼Û¼ö½ÅÀ» È®ÀÎÇϸ鼭 µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ ¼ö ÀÖ½À´Ï´Ù.



¼ÒÇÁÆ®¿þ¾î ÇÚµå ¼ÎÀÌÅ© (XON / XOFF È帧 Á¦¾î)


ÀÌ´Â "XOFF ÄÚµå"°¡ ¼ö½Å Ãø¿¡¼­ ¼ö½Å ¹öÆÛÀÇ ³²¾ÆÀÖ´Â ¿©À¯ °ø°£ÀÌ Àû¾îÁö¸é ¼Û½ÅÀÌ ÀϽÃÀûÀ¸·Î Áߴܵǵµ·Ï ¿äûÇϱâ À§ÇØ ¼Û½Å ÃøÀ¸·Î Àü¼ÛµÇ´Â

Á¦¾î ¹æ¹ýÀÔ´Ï´Ù. ÃæºÐÇÑ ¿©À¯ °ø°£
ÀÌÀÖ´Â °æ¿ì, "XON ÄÚµå"´Â ¼Û½Å ÃøÀÌ ¼Û½ÅÀ» ´Ù½Ã ½ÃÀÛÇϵµ·Ï ¿äûÇϱâ À§ÇØ Àü¼ÛµË´Ï´Ù.



Çϵå¿þ¾î ¾Ç¼ö

Á¦¾î È帧 (RTS ¶Ç´Â DTR)Àº ¼ÒÇÁÆ®¿þ¾î È帧 Á¦¾î¿¡¼­ XON / XOFF Äڵ带 Àü¼ÛÇÏ´Â ´ë½Å ÀÚµ¿À¸·Î ÄÑÁö°Å³ª ²¨Áý´Ï´Ù.

RTS ½ÅÈ£¿Í CTS ½ÅÈ£ ¶Ç´Â DTR ½ÅÈ£¿Í DSR ½ÅÈ£´Â ¼­·Î ¿¬°áµÇ¾î¾ßÇÕ´Ï´Ù.







7. ÇÁ·Î±×·¡¹Ö (Visual Basic)


7-1. Visual Basic¿¡¼­ Á÷·Ä Æ÷Æ® Á¦¾î


Visual Basic¿¡¼­ Á÷·Ä Æ÷Æ®¸¦ Á¦¾îÇÏ·Á¸é .NET Framework SerialPort Ŭ·¡½º¸¦ »ç¿ëÇÏ´Â ¸Þ¼­µå¿Í Win32 API¸¦ »ç¿ëÇÏ´Â ¸Þ¼­µå°¡ ÀÖ½À´Ï´Ù.

¿©±â¿¡¼­´Â »ó´ëÀûÀ¸·Î °£´ÜÇÑ SerialPort Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅ͸¦ º¸³»°í¹Þ´Â ÇÁ·Î±×·¡¹Ö ¿¹Á¦¸¦ ¼Ò°³ÇÕ´Ï´Ù.



7-2. .NET Framework SerialPort (SerialPort Ŭ·¡½º)


COM Æ÷Æ® Ŭ·¡½º (SerialPort ±¸¼º ¿ä¼Ò)°¡ .NET Framework¿¡ Ver. 2.0. Visual Basic 2005 À̻󿡼­´Â COM Æ÷Æ®¸¦ ºñ±³Àû °£´ÜÇÏ°Ô Á¦¾î ÇÒ ¼öÀÖ´Â

.NET Framework SerialPort ±¸¼º ¿ä¼Ò¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

Visual Basic 6°ú °°Àº ÀÌÀü ¹öÀü¿¡¼­ ÀÚÁÖ »ç¿ëµÇ¾ú´ø MSComm ÄÁÆ®·ÑÀ» ´õ ÀÌ»ó »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

.NET Framework SerialPort ±â´É

. Á÷·Ä Æ÷Æ®¿¡ ¿¬°áÇϱâÀ§ÇÑ ¼³Á¤

. ¸í·É Àü¼Û (RTS ¹× CTS¿Í °°Àº ´Ù¾çÇÑ Á÷·Ä ÀÎÅÍÆäÀ̽º Á¦¾î ½ÅÈ£ ¹× »óÅ ÀÔ·Â Á¦¾î)

. µ¥ÀÌÅÍ Àü¼Û

. Á÷·Ä ¿¬°á ¹× ¿À·ù ¸ð´ÏÅ͸µ ¹× ó¸® Áß ´Ù¾çÇÑ À̺¥Æ® (Á¦¾î ½ÅÈ£¿¡ »óÅ º¯È­°¡ÀÖÀ» ¶§ ¹× Åë½Å Áß ¿À·ù°¡ ¹ß»ýÇÒ ¶§ À̺¥Æ®°¡ »ý¼º µÉ ¼ö ÀÖÀ½)

. Á÷·Ä Æ÷Æ®¿¡ ¿¬°áÇϱâÀ§ÇÑ ¼³Á¤




7-3. .NET Framework SerialPort ÇÁ·Î±×·¡¹Ö Æ÷ÀÎÆ®

- NewLine (ÆíÀÇ»ó "±¸ºÐÀÚ ÄÚµå"(Á¾°á ÀÚ, ±¸ºÐ ±âÈ£)·Î Ç¥½ÃµÊ)¸¦ Æ÷ÇÔÇÏ´Â µ¥ÀÌÅ͸¦ ¾²°í ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù.

  ±¸ºÐ ±âÈ£ Äڵ带 Ãß°¡ÇÏ¸é ¿¬¼Ó µ¥ÀÌÅÍÀÇ ±¸ºÐ ±âÈ£·Î ÀÚµ¿ ÆǴܵ˴ϴÙ.

  ¼Û½Å½Ã "WriteLine"À» »ç¿ëÇϸé ÁöÁ¤µÈ ±¸ºÐ ±âÈ£ Äڵ尡 ÀÚµ¿À¸·Î µ¥ÀÌÅÍ ¹®ÀÚ¿­¿¡ Ãß°¡µË´Ï´Ù.


- ¾ç¹æÇâ 󸮴 ÀÎÅÍ·´Æ® (À̺¥Æ® ±¸µ¿) 󸮷Π°¡´ÉÇÕ´Ï´Ù. "DataReceived"¹× "PinChanged"À̺¥Æ®¸¦ »ç¿ëÇϸé Á¦¾î ½ÅÈ£¼±ÀÇ º¯°æ ¹× µ¥ÀÌÅÍ

  ¼ö½Å°ú °°Àº À̺¥Æ®°¡ ¹ß»ýÇÒ ¶§ ¾Ë¸²À» ¼ö½Å ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÎÅÍ·´Æ®´Â À̺¥Æ®°¡ ¹ß»ýÇÒ ¶§ ¹ß»ýÇϹǷΠÇÊ¿äÇÑ Ã³¸®¸¦ Áï½Ã ¼öÇà ÇÒ ¼ö ÀÖ½À´Ï´Ù.

SerialPort ±¸¼º ¿ä¼Ò ºÙ¿© ³Ö±â

Visual Basic "µµ±¸ »óÀÚ"¿¡¼­ SerialPort ±¸¼º ¿ä¼Ò¸¦ ¼±ÅÃÇÏ°í ±¸¼º ¿ä¼Ò¸¦ ¸¶¿ì½º ¿ÞÂÊ ´ÜÃß·Î ²ø¾î¼­ ²ø¾î´Ù ³õ¾Æ Æû¿¡ ºÙ¿© ³Ö½À´Ï´Ù.

±¸¼º ¿ä¼ÒÀÇ ºÙ¿© ³Ö±â°¡ ³¡³ª¸é ±¸¼º ¿ä¼Ò°¡ ¾ç½Ä ¾Æ·¡¿¡ ºÙ¿© ³Ö¾îÁý´Ï´Ù.







¼Ó¼º ±¸¼º

±¸¼º ¿ä¼ÒÀÇ µî·Ï Á¤º¸ âÀ¸·Î Àüȯ ÇÑ °ÍÀ¸·Î º¸ÀÌ´Â ±¸¼º ¿ä¼Ò¸¦ Ŭ¸¯ÇϽʽÿÀ.

"PortName"¼Ó¼ºÀ¸·Î Åë½Å¿¡ »ç¿ëµÉ Æ÷Æ® ¹øÈ£¸¦ ¼³Á¤ÇϽʽÿÀ. Ãʱ⠰ªÀº "COM1"ÀÔ´Ï´Ù.

"BaudRate"¼Ó¼ºÀ¸·Î Àü¼Û ¼Óµµ¸¦ ¼³Á¤ÇϽʽÿÀ. Ãʱ⠰ªÀº "9600"ÀÔ´Ï´Ù. RTS »ç¿ë ¿©ºÎ¿Í °°Àº ±âŸ ¼Ó¼ºÀ» ±¸¼º ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.





À̺¥Æ® ¼³Á¤µµ ±¸¼º ÇÒ ¼ö ÀÖ½À´Ï´Ù.






¼Ó¼º âÀÇ À̺¥Æ® ¹öÆ°À» Ŭ¸¯ÇÏ¿© ±¸¼º ¿ä¼ÒÀÇ À̺¥Æ® ¸ñ·ÏÀ» Ç¥½ÃÇÕ´Ï´Ù.

»ç¿ëÇÒ À̺¥Æ®¸¦ ¼±ÅÃÇÏ°í µÎ ¹ø Ŭ¸¯Çϸé ÇØ´ç À̺¥Æ® ·çƾÀÌ Ãß°¡µË´Ï´Ù. ÀÌ À§Ä¡¿¡¼­ À̺¥Æ®°¡ ¹ß»ýÇßÀ» ¶§ ó¸® Äڵ带 ÀÛ¼ºÇϽʽÿÀ.

À̺¥Æ® À¯Çü

DataReceived À̺¥Æ®

Chars : ¹®ÀÚ°¡ ¼ö½ÅµÇ°í µ¥ÀÌÅÍ°¡ ¼ö½Å ¹öÆÛ¿¡ ÀúÀåµÇ¸é

Eof : EOF (ÆÄÀÏ ³¡)°¡ ¼ö½ÅµÇ°í ÀÌ°ÍÀÌ ¼ö½Å ¹öÆÛ¿¡ ÀúÀåµÇ¸é




ErrorReceived À̺¥Æ®


Frame : ÇÁ·¹ÀÌ¹Ö ¿À·ù°¡ °¨ÁöµÇ¾ú½À´Ï´Ù.

Overrun : ¿À¹ö·± ¿À·ù°¡ °¨ÁöµÇ¾ú½À´Ï´Ù.

RxOver : ¹öÆÛ ¿À¹öÇ÷ΰ¡ °¨ÁöµÇ¾ú½À´Ï´Ù.

RxParity : Æи®Æ¼ ¿À·ù°¡ °¨ÁöµÇ¾ú½À´Ï´Ù.

TxFull : ¼Û½Å ¹öÆÛ°¡ °¡µæ Â÷¼­ ¹öÆÛ¿¡ µ¥ÀÌÅ͸¦ ÀúÀåÇÒ ¼ö¾ø´Â °æ¿ì



ÇÉ Ã¼ÀÎÁö À̺¥Æ®

Break : Áß´Ü ½ÅÈ£°¡ °¨ÁöµÇ¾ú½À´Ï´Ù.

CDChanged : CD (Carrier Detect) »óÅ º¯°æµÊ

CtsChanged : CTS (Clear to Send) »óÅ º¯°æµÊ

DsrChanged : DSR (µ¥ÀÌÅÍ ¼¼Æ® Áغñ) »óÅ º¯°æµÊ

Ring : ¸µ Ç¥½Ã±â°¡ °¨ÁöµÇ¾ú½À´Ï´Ù.




7.4 Win32 API¸¦ »ç¿ëÇÏ¿© Á÷·Ä Æ÷Æ® Á¦¾î

Á÷·Ä Æ÷Æ® ÇÁ·Î±×·¡¹ÖÀÇ °æ¿ì Wind32 API (ÀÀ¿ë ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽º)¸¦ È£ÃâÇÏ´Â ¸Þ¼Òµåµµ ÀÖ½À´Ï´Ù.

Win32 API ¹× ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ ´ëÇÑ ±¤¹üÀ§ÇÑ Áö½ÄÀÌ ÇÊ¿äÇÏÁö¸¸º¸´Ù °í±ÞÀÌ°í À¯¿¬ÇÑ ÇÁ·Î±×·¡¹ÖÀÌ °¡´ÉÇÕ´Ï´Ù.

Win32 API´Â Windows°¡ Ç¥ÁØÀ¸·Î Á¦°øÇÏ´Â ±â´É (ÇÔ¼ö)ÀÔ´Ï´Ù. DLL·Î Á¦°øµÇ¸ç Windows¿¡¼­ ½ÇÇàµÇ´Â ¸ðµç ÀÀ¿ë ÇÁ·Î±×·¥ÀºÀ̸¦ °øÀ¯ÇÏ°í

»ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

Windows´Â ¾à 1000 °¡Áö À¯ÇüÀÇ API ±â´ÉÀ¸·Î ±âº» ±â´ÉÀ» Á¦°øÇϸç ÀÀ¿ë ÇÁ·Î±×·¥ ¼ÒÇÁÆ®¿þ¾î´ÂÀÌ ±â´ÉÀ» °áÇÕÇÏ¿© ºôµåµË´Ï´Ù.

Visual Basic ¹× Visual C¿¡´Â ¸¹Àº ¸í·ÉÀÌ ÀÖÁö¸¸ ÀÌ´Â ¸ðµç Windows ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÏÁö ¾ÊÀ¸¹Ç·Î ÇÊ¿ä¿¡ µû¶ó API ÇÔ¼ö¸¦

È£ÃâÇÏ°í »ç¿ëÇؾßÇÕ´Ï´Ù. Á÷·Ä Æ÷Æ®¸¦ Á¦¾îÇÏ·Á¸é ´ÙÀ½ API ÇÔ¼ö¸¦ »ç¿ëÇϽʽÿÀ.



Á÷·Ä Æ÷Æ®¸¦ Á¦¾îÇÏ´Â µ¥ »ç¿ëµÇ´Â Win32 API

Æ÷Æ® ¿­±â : CreateFile

Æ÷Æ® ±¸¼º : SetCommState, SetCommTimeouts

µ¥ÀÌÅÍ Àü¼Û : WriteFile

µ¥ÀÌÅÍ ¼ö½Å : ReadFile




8. Á÷·Ä Æ÷Æ® ¿­±â / ´Ý±â - Visual Basic 2005 Á÷·Ä Åë½Å ÇÁ·Î±×·¥ -


ÀÌ ¿¹Á¦ ÇÁ·Î±×·¥Àº USB ¿¬°áÀ» ÅëÇØ COM1¿¡ ÇÒ´ç µÈ COM-1(USB)Hº¸µå¿¡ RS-232C 1 Æ÷Æ® À¯ÇüÀ» »ç¿ëÇÏ°í COM Æ÷Æ®¸¦ ¿­°í ´Ý¾Æ ¿¹¿Ü 󸮸¦

¼öÇàÇÕ´Ï´Ù.

»ç¿ëµÈ COM Æ÷Æ®
COM1
Àü¼Û ¼Óµµ
9600 bps
Æи®Æ¼ ¼³Á¤
¾øÀ½
µ¥ÀÌÅÍ ºñÆ® ±æÀÌ
8 ºñÆ®
Á¤Áö ºñÆ®
1 ºñÆ®
Çڵ彦ÀÌÅ·
»ç¿ëÇÏÁö ¸¶¼¼¿ä
RTS ¶óÀÎ
¹«È¿




8. 1 È­¸éÀÇ »ý¼º°ú ¼Ó¼º ¼³Á¤

Visual Basic 2005¸¦ ½ÃÀÛÇÏ°í »õ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé°í ¾Æ·¡¿¡ Ç¥½ÃµÈ °Í°ú °°Àº ¾ç½ÄÀ» ¸¸µì´Ï´Ù.

SerialPort ±¸¼º ¿ä¼Ò¸¦ ¾ç½Ä¿¡ ºÙ¿© ³Ö½À´Ï´Ù. Á÷·Ä Æ÷Æ® ±¸¼º ¿ä¼Ò ¼Ó¼º (Àü¼Û ¼Óµµ¿Í °°Àº Åë½Å ¼³Á¤)À» È®ÀÎÇϽʽÿÀ.



°´Ã¼
TextBox1
COM1
°´Ã¼
¹öÆ° 1
¿¬°á
°´Ã¼
¹öÆ° 2
¿¬°á ²÷±â





8. 2 ¿À·ù ó¸® (¿¹¿Ü ó¸®)


ÇÁ·Î±×·¥ÀÌ ¿¹¿Ü 󸮸¦ ¼öÇàÇÏÁö ¾ÊÀ» ¶§ ¿¹¿Ü ¿À·ù°¡ ¹ß»ýÇϸé ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ °­Á¦ Á¾·áµË´Ï´Ù.

À̸¦ ÇÇÇϱâ À§ÇØ ÇÁ·Î±×·¥Àº ¿¹¿Ü 󸮸¦ ¼öÇàÇÕ´Ï´Ù. ¿¹¿Ü°¡ 󸮵Ǹé ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ °­Á¦ Á¾·áµÇÁö ¾Ê½À´Ï´Ù.

¾Æ·¡ÀÇ À̹ÌÁö ¿¹¿Ü°¡ ó¸® µÉ ¶§ ¸Þ½ÃÁö »óÀÚ¸¦ Ç¥½ÃÇÏ¿© »ç¿ëÀÚ¿¡°Ô °æ°íÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù.






8.3 ÇÁ·Î±×·¥ ÄÚµå ¿¹Á¦

¿¬°á ´ÜÃß ¹× ¿¬°á ²÷±â ´ÜÃ߸¦ Ŭ¸¯ ÇÒ ¶§ 󸮸¦ Ãß°¡ÇϽʽÿÀ. Form1.vb¿¡¼­ ´ÙÀ½ Äڵ带 ÀÛ¼ºÇϽʽÿÀ.

°¢ ¿ÀºêÁ§Æ® (´ÜÃß µî)¸¦ µÎ ¹ø ´©¸£¸é, ¿ÀºêÁ§Æ®°¡ ´ÜÃß ÀÎ °æ¿ì ´ÙÀ½ Äڵ带 ÀÛ¼ºÇϽʽÿÀ. ¹öÆ°À» ´­·¶À» ¶§ 󸮰¡ ¿­¸³´Ï´Ù.

¿©±â¿¡¼­ ¼öÇàÇÏ·Á´Â 󸮸¦À§ÇÑ Äڵ带 ÀÛ¼ºÇϽʽÿÀ.

Æ÷Æ® ¿­±â

Private Sub Button1_Click (... : ¿¬°á ¹öÆ°À» ´­·¶À» ¶§ÀÇ Ã³¸®

SerialPort1.PortName = TextBox1.Text '¿­·Á´Â Æ÷Æ®ÀÇ À̸§À» ÀúÀåÇÕ´Ï´Ù.

SerialPort1.Open () 'Æ÷Æ®¸¦ ¿±´Ï ´Ù.

End Sub



Æ÷Æ® ´Ý±â

Private Sub Button2_Click (... : ¿¬°á ÇØÁ¦ ¹öÆ°À» ´­·¶À» ¶§ÀÇ Ã³¸®

      If SerialPort1.IsOpen = True Then 'Æ÷Æ®°¡ ¿­·È½À´Ï´Ù.

           SerialPort1.Close () 'Æ÷Æ®¸¦ ´Ý½À´Ï´Ù.

      End If

End Sub






¿¹¿Ü ó¸®

ÀÌ ÄÚµå ¿¹Á¦´Â À§ Äڵ忡 ¿¹¿Ü 󸮸¦ Ãß°¡ÇÏ°í ¿¹¿Ü ¿À·ùÀÇ ¼¼ºÎ Á¤º¸¸¦ Ç¥½ÃÇÕ´Ï´Ù.

Private Sub Button1_Click (... : ¿¬°á ¹öÆ°À» ´­·¶À» ¶§ÀÇ Ã³¸®
      Try '¿¹¿Ü ó¸® ½ÃÀÛ
          If SerialPort1.IsOpen = True Then 'Æ÷Æ®°¡ ¿­·È½À´Ï´Ù.
                MessageBox.Show ( "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
                Exit Sub
          End If
                SerialPort1.PortName = TextBox1.Text '¿­·Á´Â Æ÷Æ®ÀÇ À̸§À» ÀúÀåÇÕ´Ï´Ù.
                SerialPort1.Open () 'Æ÷Æ®¸¦ ¿±´Ï ´Ù.
      Catch ex As Exception '¿¹¿Ü ó¸®
                MessageBox.Show (¿¹ : ¸Þ½ÃÁö, "¿À·ù", MessageBoxButtons.OK, MessageBoxIcon.Error)
      End Try
End Sub



Private Sub Button2_Click (... : ¿¬°á ÇØÁ¦ ¹öÆ°À» ´­·¶À» ¶§ÀÇ Ã³¸®

           If SerialPort1.IsOpen = True Then 'Æ÷Æ®°¡ ¿­·È½À´Ï´Ù.
              SerialPort1.Close () 'Æ÷Æ®¸¦ ´Ý½À´Ï´Ù.
           End If
End Sub



Try-Catch-End Try ±¸¹®ÀÇ °æ¿ì Visual Basic 2005 ÂüÁ¶¸¦ È®ÀÎÇϽʽÿÀ.







9. µ¥ÀÌÅÍ Àü¼Û - Visual Basic 2005 ½Ã¸®¾ó Åë½Å ÇÁ·Î±×·¥

ÀÌ ¿¹Á¦ ÇÁ·Î±×·¥Àº USB ¿¬°áÀ» ÅëÇØ COM1¿¡ ÇÒ´ç µÈ COM-1(USB)Hº¸µå RS-232C 1 Æ÷Æ® À¯ÇüÀ» »ç¿ëÇÏ°í ±âº» ±¸ºÐ ±âÈ£¸¦ Æ÷ÇÔÇÏ¿©

ÅؽºÆ® »óÀÚ¿¡ ÀÔ·Â µÈ ¹®ÀÚ¿­ µ¥ÀÌÅ͸¦ º¸³À´Ï´Ù.



»ç¿ëµÈ COM Æ÷Æ®
COM1
Àü¼Û ¼Óµµ
9600 bps
Æи®Æ¼ ¼³Á¤
¾øÀ½
µ¥ÀÌÅÍ ºñÆ® ±æÀÌ
8 ºñÆ®
Á¤Áö ºñÆ®
1 ºñÆ®
Çڵ彦ÀÌÅ·
»ç¿ëÇÏÁö ¸¶¼¼¿ä
RTS ¶óÀÎ
¹«È¿
±¸ºÐ ±âÈ£ ÄÚµå
LF (ÁÙ ¹Ù²Þ)


9. 1 ¾ç½Ä ÀÛ¼º ¹× Ư¼º ±¸¼º

Visual Basic 2005¸¦ ½ÃÀÛÇÏ°í »õ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé°í ¿ÞÂÊ¿¡ Ç¥½ÃµÈ °Í°ú °°Àº ¾ç½ÄÀ» ¸¸µì´Ï´Ù.

SerialPort ±¸¼º ¿ä¼Ò¸¦ ¾ç½Ä¿¡ ºÙ¿© ³Ö½À´Ï´Ù. Á÷·Ä Æ÷Æ® ±¸¼º ¿ä¼Ò ¼Ó¼º (Àü¼Û ¼Óµµ¿Í °°Àº Åë½Å ¼³Á¤)À» È®ÀÎÇϽʽÿÀ.


°´Ã¼
TextBox1
COM1
°´Ã¼
¹öÆ° 1
¿¬°á
°´Ã¼
¹öÆ° 2
¿¬°á ²÷±â
°´Ã¼
TextBox2
°´Ã¼
Button3
º¸³»´Ù




9.2 NewLine (±¸ºÐ ±âÈ£ ÄÚµå)

±¸ºÐ ±âÈ£ ÄÚµå´Â µ¥ÀÌÅÍÀÇ ºÐ¸® ¹®ÀÚ ¶Ç´Â ºÐ¸® ±âÈ£¸¦ ÀǹÌÇÕ´Ï´Ù.

SerialPort Ŭ·¡½ºÀÇ ±âº» ±¸ºÐ ±âÈ£ ÄÚµå´Â "LF"ÀÌÁö¸¸ ¿¬°áµÉ Àåºñ¿¡ ´ëÇØ ±¸¼ºµÇ¾î¾ßÇÕ´Ï´Ù.

ÇØ´ç ±¸ºÐ ±âÈ£ ÄÚµå´Â ´ÙÀ½À» ÂüÁ¶ÇϽʽÿÀ. ¿¬°áµÈ ÀåÄ¡.

. ¿¬¼Ó µ¥ÀÌÅÍÀÇ ´ÜÀýÀº µ¥ÀÌÅÍ¿¡ ±¸ºÐ ±âÈ£ Äڵ带 Ãß°¡ÇÏ¿© ÆÇ´ÜÇÕ´Ï´Ù.

. ±¸ºÐ ±âÈ£ ÄÚµå´Â Visual Basic µµ¿ò¸»ÀÇ NewLine °ª°ú µ¿ÀÏÇÑ Á¤ÀÇÀÔ´Ï´Ù.

.WriteLine ¸Þ¼­µå¸¦ »ç¿ëÇÒ ¶§ NewLine °ªÀÌ ¼Û½Å ¹öÆÛ¿¡ ÀúÀåµÈ ¼Û½Å µ¥ÀÌÅÍ¿¡ Ãß°¡ µÈ ´ÙÀ½ µ¥ÀÌÅÍ°¡ Àü¼ÛµË´Ï´Ù.

 ±âº» NewLine °ªÀº LF (ÁÙ ¹Ù²Þ)ÀÔ´Ï´Ù.

. CR (ij¸®Áö ¸®ÅÏ), LF (ÁÙ ¹Ù²Þ) ¹× CR + LF°¡ ºÐ¸® ¹®ÀÚ·Î ÀÚÁÖ »ç¿ëµË´Ï´Ù.




9.3 ÇÁ·Î±×·¥ ÄÚµå ¿¹Á¦

¿¬°á ´ÜÃß ¹× ¿¬°á ²÷±â ´ÜÃ߸¦ Ŭ¸¯ ÇÒ ¶§ 󸮸¦ Ãß°¡ÇϽʽÿÀ. Form1.vb¿¡¼­ ´ÙÀ½ Äڵ带 ÀÛ¼ºÇϽʽÿÀ.

°¢ ¿ÀºêÁ§Æ® (´ÜÃß µî)¸¦ µÎ ¹ø ´©¸£¸é, ¿ÀºêÁ§Æ®°¡ ´ÜÃß ÀÎ °æ¿ì ´ÙÀ½ Äڵ带 ÀÛ¼ºÇϽʽÿÀ.

¹öÆ°À» ´­·¶À» ¶§ 󸮰¡ ¿­¸³´Ï´Ù. ¿©±â¿¡¼­ ¼öÇàÇÏ·Á´Â 󸮸¦À§ÇÑ Äڵ带 ÀÛ¼ºÇϽʽÿÀ.

Private Sub Button1_Click (... : ¿¬°á ¹öÆ°À» ´­·¶À» ¶§ÀÇ Ã³¸®
        Try '¿¹¿Ü ó¸® ½ÃÀÛ
             If SerialPort1.IsOpen = True Then 'Æ÷Æ®°¡ ¿­·È½À´Ï´Ù.
                   MessageBox.Show ( "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
                   Exit Sub
             End If
                   SerialPort1.PortName = TextBox1.Text '¿­·Á´Â Æ÷Æ®ÀÇ À̸§À» ÀúÀåÇÕ´Ï´Ù.
                   SerialPort1.Open () 'Æ÷Æ®¸¦ ¿±´Ï ´Ù.
        Catch ex As Exception '¿¹¿Ü ó¸®
                   MessageBox.Show (ex.Message, "¿À·ù", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
End Sub




Private Sub Button2_Click (... : ¿¬°á ÇØÁ¦ ¹öÆ°À» ´­·¶À» ¶§ÀÇ Ã³¸®
             If SerialPort1.IsOpen = True Then 'Æ÷Æ®°¡ ¿­·È½À´Ï´Ù.
                   SerialPort1.Close () 'Æ÷Æ®¸¦ ´Ý½À´Ï´Ù.
             End If
End Sub



Private Sub Button3_Click (... : º¸³»±â ¹öÆ°À» ´­·¶À» ¶§ÀÇ Ã³¸®
             If TextBox2.Text.Length = 0 Then 'º¸³»±â µ¥ÀÌÅÍ°¡ ¾øÀ¸¸é ¿À·ù°¡ ¹ß»ýÇÕ´Ï´Ù.
                    MessageBox.Show ( "¹®ÀÚ¿­ ÀÔ·Â ¿À·ù", MessageBoxButtons.OK, MessageBoxIcon.Error)
                    Exit Sub 'ó¸® Áß´Ü
             End If

             Try
                    SerialPort1.WriteLine (TextBox2.Text) '¼Û½Å ¹öÆÛ¿¡ µ¥ÀÌÅÍ ¾²±â
             Catch ex As Exception '¿¹¿Ü ó¸®
                     MessageBox.Show (ex.Message,"¿À·ù", MessageBoxButtons.OK, MessageBoxIcon.Error)
             End Try
End Sub



ÄÚµåÀÇ ±¸ºÐ ±âÈ£¸¦ º¯°æÇÏ°í µ¥ÀÌÅ͸¦ º¸³»·Á¸é ´ÙÀ½°ú °°ÀÌ Äڵ带 ÀÛ¼ºÇϽʽÿÀ.

Dim strSend As String 'NewLineÀ» ÀúÀåÇÒ ¹®ÀÚ¿­ º¯¼ö

strSend = SerialPort1.NewLine 'NewLineÀ» Ãëµæ

strSend = strSend.Replace (vbLf, vbCr) '¹®ÀÚ¿­¿¡¼­ LF¸¦ CR·Î º¯È¯ÇÏ·Á¸é

SerialPort1.NewLine = strSend 'NewLine¿¡ ´ëÄ¡ µÈ ±¸ºÐ ±âÈ£ ÀúÀå

Try
         SerialPort1.WriteLine (TextBox2.Text) 'º¸³¾ µ¥ÀÌÅÍ ¾²±â ¹öÆÛ
Catch ex As Exception '¿¹¿Ü ó¸®
         MessageBox.Show (ex.Message, "¿À·ù", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try



Try-Catch-End Try ±¸¹®ÀÇ °æ¿ì Visual Basic 2005 ÂüÁ¶¸¦ È®ÀÎÇϽʽÿÀ.