|
by trick14 카테고리
메모장
───────────
★사진첩
───────────
♧ EJ ♧ Jeimian ♧ Titaness ♧ Eclipsia ♧ Lakey ♧ Narana ♧ Repenny's Cy ─────────── ▶ SLR클럽 ▶ 클리앙 ▶ SKI114 ▶ PhotoAbs 다운받기 ──────────── ◇ 하루 한가지 ◇ 한국 100대통계지표 ──────────── 최근 등록된 덧글
소스부탁해요 ㄳ
grands..
by 박상언 at 11/11 안녕하세요. 소스좀 받.. by 강정관 at 11/04 안녕하세요. 소스좀 받.. by 이승재 at 09/29 감사합니다. 제가 사용해.. by 고강훈 at 09/14 좋은 정보 감사합니다~ .. by 학생 at 08/25 |
2008년 09월 01일
먼저 닷넷프레임워크에서는 System.IO.Port라는 시리얼IO를 위한 네임스페이스를 제공합니다. 이 네임스페이스에서 제공하는 다양한 클래스들을 사용하여 시리얼 포트를 제어할 수 있으며 아래와 같은 방법으로 네임스페이스를 프로젝트에 추가해 줍니다.
먼저 아래와 같은 방식으로 시리얼 포트 객체를 선언합니다.
Baud rate, Stop bits, Data bits등 시리얼 통신을 위한 여러 설정들은 아래와 같은 방법으로 정의할 수 있습니다. 아래에 예에서 적용된 설정들은 이 설정들을 적용하지 않았을 경우 default값으로 적용되는 값들입니다.
실제 사용 가능한 시리얼 포트는 SerialPort.GetPortNames() 메소드로 얻어 올 수 있기 때문에 foreach문을 사용하면 모든 사용 가능한(물리적으로) 시리얼 포트를 찾을 수 있습니다.
Parity로 사용할 수 있는 값은 EVEN, MARK, NONE, ODD, SPACE 입니다. Stop Bits로 사용할 수 있는 값은 None, One, OnePointFive, Two 입니다. 여기까지 설정이 끝났다면 단순히 Open() 메소드를 사용하여 적용된 설정과 함께 포트를 열 수 있으며 IsOpen을 이용하여 포트가 정상적으로 열렸는지 확인 할 수 있습니다. 필요한 Exception에 대한 핸들링도 주로 이곳에서 하게 됩니다.
정상적으로 포트가 열렸다면 Read/Write작업에 대해 알아보겠습니다.
Read작업의 경우 ReadByte, ReadChar, ReadExisting, ReadLine 중 필요한 메소드를 골라서 사용하시면 됩니다. Win32에서 Read작업의 경우 쓰레드를 만들고 이벤트를 감시하여 해당 이벤트(시리얼로 데이터가 들어오는)가 발생하면 특정 루틴으로 넘겨주는 방법을 사용했는데 닷넷에서도 마찬가지의 방법을 사용합니다.
이렇게 해서 간단히 닷넷을 이용한 시리얼 포트제어 방법을 알아보았습니다. 기본적인 시리얼에 대한 내용은 제가 이전에 작성한 문서를 참고하셔도 되고 이미 많은 자료들이 있기 때문에 따로 첨부하진 않겠습니다. 닷넷에서 워낙 편리하게 사용할 수 있는 여러 클래스를 제공해 주고 있기 때문에 MSDN문서만 찾아보셔도 손쉽게 구현하실수 있으리라 믿으며 제가 만들어둔 소스를 함께 첨부합니다. ( 수정: 소스 뺏습니다. 필요하신분은 문의주세요.) 이 글과 관련있는 글을 자동검색한 결과입니다 [?]
|