상세 컨텐츠

본문 제목

[C# 2.0 ver] 시리얼 포트 에러 발생시 Tip

C#

by xarfox 2011. 6. 22. 14:24

본문


보통 돌아다니는 시리얼 포트 관련 소스들을 보면..


serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived);

와 같은 방식으로 되어 있습니다.

serialPort.ErrorReceived += new SerialErrorReceivedEventHandler(serialPort_ErrorReceived);

와 같이 정상적인 데이터를 수신 하지 못하였을 경우의 처리도 같이 해주면 좋을 것 같은데 말입니다..

아래는 발생하는 에러의 종류와 원인(?) 정도를 출력합니다.
void serialPort_ErrorReceived(object sender, SerialErrorReceivedEventArgs e)
        {
            SerialError err = e.EventType;
            string strErr = "";

            switch (err)
            {
                case SerialError.Frame:
                    strErr = "HardWare Framing Error";
                    break;
                case SerialError.Overrun:
                    strErr = "Charaters Buffer Over Run";
                    break;
                case SerialError.RXOver:
                    strErr = "Input Buffer OverFlow";
                    break;
                case SerialError.RXParity:
                    strErr = "Founded Parity Error";
                    break;
                case SerialError.TXFull:
                    strErr = "Write Buffer was Fulled";
                    break;
                default:
                    break;
            }

          // 생략....

            }
        }


출처 http://www.hoons.kr/Board.aspx?Name=cshaptip&Mode=2&BoardIdx=30099&Key=&Value=

관련글 더보기