본문 바로가기

Computer Science/Languages

[Scrap] 시리얼 포트, TCP/IP, UDP/IP 터미널 프로그램 (시리얼 통신 프로그램)

728x90

 

이번에 소개 드리는 프로그램은 시리얼 포트(COM port)나 TCP/IP, UDP/IP 프로토콜로 데이터를 주고받을 수 있는 프로그램입니다. 시리얼이나 TCP, UDP 프로토콜로 통신하는 장비를 연결하는 프로그램을 작성하기 전에 프로토콜이 어떻게 동작하는지 간단히 테스트 하는 용도로 이 프로그램을 사용해 볼 수 있습니다. 그동안 제가 하이퍼터미널(hyperterm)이나 테라텀(TeraTerm)을 사용하면서 불편하게 생각했던 여러 기능들을 추가하여 만들었습니다. 아마도 저와 같은 각종 디바이스를 다루고 통신 프로토콜을 구현하는 개발자들에게 유용한 프로그램이 되지 않을까 합니다.

 

 

다음은 프로그램을 실행하고 [Connect] 버튼을 눌러 COM 포트로 연결한 그림입니다. 기본적으로 텍스트로 보여주면서 HEX를 선택할 경우 16진수로도 보여줍니다. 여기서 제가 가장 심혈을 기울인 부분은 ASCII 코드를 입력할 때 Escape sequence를 사용할 수 있도록 한 것입니다. 무슨 말인가 하면, 문자열 내에서 \n을 사용하여 줄바꿈 기능을 하는 제어 문자를 만드는 것을 말합니다. 이스케이프 시퀀스는 이것 말고도 몇 가지가 더 있으니 다음 페이지를 참고하시기 바랍니다: http://msdn.microsoft.com/en-us/library/h21280bw.aspx

그리고 한 가지 더 말하자면, 전송할 문자열을 입력할 때, ASCII 문자를 16진수 값으로 서로 변환하여 입력하는 기능입니다. 필요에 따라 16진수로 입력하거나 Escape sequence를 사용하는 ASCII 문자로 입력하면 됩니다. HEX와 ASCII 라디오 버튼을 누름에 따라 이 둘을 서로 번갈아 표시하기 때문에 입력되는 문자열을 더 잘 파악할 수 있습니다.

 

 

 

다음은 데이터를 보내기 위해 단축키를 설정하는 윈도우 입니다. 먼저 보내고자 하는 데이터를 적고 지연과 반복 횟수를 설정합니다. 그리고 단축키를 설정해두면, 다음 대화상자가 닫힌 상태에서도 단축키를 눌러 데이터를 보낼 수 있습니다.

 

 

 

 

이상입니다. 버튼과 컨트롤 들이 많아 좀 헷갈리지 않을까 하는 생각이 들지만, 그래도 나름 직관적으로 만든다고 만들었습니다. 혹시 조언이나 힌트, 버그레포트 주실 일이 있다면 댓글 부탁드립니다. ^^

 

Version 1.15 (2014.4.28) 

  1. 윈도우 7(32bit)에서 윈도우 크기 조정시 화면 업데이트가 되지 않는 문제 해결

  2. 단축키 메시지 편집 대화상자에서 [보내기]버튼을 누르거나 단축키를 누를 때마다 전송 상태가 토글 되도록 변경 

 

Version 1.14a (2014.4.22) 

  1. 윈도우 생성시 에러 발생하고 프로그램 중단되는 버그 수정 (확인 필요)

     - XP에서 실행하시는 분들께서 정상적으로 실행되는지 확인해 주시면 고맙겠습니다.

        제가 XP가 설치된 PC가 없어, 의심되는 부분을 수정만 하고 테스트는 해보지 못했습니다.

 

Version 1.14 (2014.4.12) 

  1. 최대화, 최소화 버튼 추가

  2. 윈도우 사이즈 조절 가능하도록 함

  3. 시리얼 통신 속도를 임의의 값으로 설정 가능하도록 함

 

Version 1.13 (2014.3.12)

  1. 송수신 문자열 표시줄 수가 제대로 적용되지 않던 bug fix

  2. 내부 코드 정리

 

Version 1.12 (2014.2.24)

  1. 화면 표시 메시지의 자동 줄바꿈 켜고 끌 수 있는 체크박스 추가

  2. 송수신 메시지 표시 켜고 끌 수 있는 체크박스 추가

  3. 송수신 메시지에 대한 시간 표시 방법을 선택할 수 있는 드롭 리스트 박스 추가

  3. 연결 중인 상황이 아닐 때 단축키에 의한 메시지 송신 되는 bug fix

  4. HEXA 보기에서 무조건 줄바꿈 되는 bug fix

 

Version 1.11 (2014.2.22)

  1. 설정사항 저장 방식 변경 (ini 파일이 2.10 버젼과 호환되지 않음, 설정사항 모두 리셋 됨)

  2. 설정 항목들 중 중복되는 내용들 없애고 간략화 함

  3. 키보드 이벤트 후킹 방식 변경

 

Version 1.10 (2014.2.18)

  1. 한글화

  2. 화면 표시 옵션 추가

 

Version 1.01 (2014.2.14)

  1. 단축키 1번이 제대로 저장되지 않는 bug fix

  2. 단축키 설정 대화상자 초기 실행 속도 개선

 

 

SerialPortMon.exeVersion 1.15  (Updated: 2014.4.28)

 

SerialPortMon.zip  Version 1.15  (Visual Studio 2008 / C++)

 

 

 

 

 

 출처 : http://blog.daum.net/pg365/276