C#을 활용한 시리얼 컴포트(comport) 콤보박스에 띄우기
본문 바로가기
프로그래밍

C#을 활용한 시리얼 컴포트(comport) 콤보박스에 띄우기

by 124578 2022. 10. 20.

시리얼통신으로 프로그램을 하다가 보면 시리얼 포트를 프로그램 UI에 띄워야 하는 경우가 있습니다. 아래에서 그 프로그램 작성방법을 확인해 봅니다.

 

 

C# 윈폼 프로그램을 활용하여 설명합니다.

 

1. 하드웨어에서 시리얼 포트 존재 유무 확인하기

1) 장치관리자에서 시리얼 포트 확인

PC의 장치관리자에서 우선 시리얼포트가 있는지 먼저 확인합니다. 요즘에는 산업용 PC가 아닌경우에는 시리얼포트가 일반적으로 제공되지 않습니다. USB to serial 포트가 필요할 수 있습니다

 

장치관리자에서 시리얼 포트를 확인하는 방법은 아래 링크에서 확인하세요.

 

2020.07.17 - [통신] - [시리얼 통신] COMPORT(컴포트) 설정 확인 방법

 

2. 비주얼 스튜디오에서 프로그램하기

1) 콤보박스 넣기

윈폼에서 콤보박스툴을 아래와 같이 적당한 위치에 잡아끌어서 놓아줍니다. 연결 버튼은 의미 없습니다. 형식적으로 넣었습니다.

윈폼 시리얼포트 불러오기
윈폼 시리얼포트 불러오기

2)  코드 작성

콤보박스 속성 창에서 이름을 cbPort로 수정합니다. 이후에 코드 보기로 변환한 후 아래와 같이 코드를 작성합니다.

 

아래가 최종 코드입니다. 기본 Form1.cs에 아래와 같이 코드를 작성합니다.

 

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;

namespace WindowsFormsApp5
{
    public partial class Form1 : Form
    {

       
        public Form1()
        {
            InitializeComponent();

            foreach (string portnumber in SerialPort.GetPortNames())
            {
                cbPort.Items.Add(portnumber);
            }
            cbPort.SelectedIndex = 0;

        }
    }
}

 3) 코드 설명

프로그램 코드는 사실 간단합니다. using System.IO.Ports; 를 통해 윈폼에서 시리얼포트를 활용할 수 있게 해 주었고 아래 코드를 통해 윈폼이 초기화될 때 바로 장치의 시리얼 포트를 검색하여 콤보박스의 아이템으로 추가해주었습니다. 이후 가장 처음에 올라온 장치를 콤보박스에 표시했습니다.

 foreach (string portnumber in SerialPort.GetPortNames())
 {
         cbPort.Items.Add(portnumber);
 }
 cbPort.SelectedIndex = 0;

 

 

4)  프로그램 실행

아래는 실행결과입니다.

 

윈폼 시리얼포트 불러오기 실행결과
윈폼 시리얼포트 불러오기 실행결과

위와 같이 쉽고 간단하게 현재 PC에 연결된 시리얼포트를 불러서 읽어오는 프로그램 작성이 가능합니다.

감사합니다. 

 

댓글


TOP

TEL. 02.1234.5678 / 경기 성남시 분당구 판교역로