최근 SerialPort 에서 정상적인 데이터를 수신 하지 못하였을 경우 User 가 확인 할 수 있는 방법
이 없는지 고민하던 차에 괜찮은 정보가 있어 이렇게 Tip !!
일반적으로
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;
}
// 생략....
}
}
'프로그래밍_객체지향언어 > C#_프로그래밍' 카테고리의 다른 글
곰용이의 C# 초급 (4) (0) | 2013.07.03 |
---|---|
곰용이의 C# 초급 (3) (0) | 2013.04.01 |
곰용이의 C# 초급 (2) (0) | 2013.04.01 |
곰용이의 C# 초급 (1) (0) | 2013.03.21 |
C# 프로그래밍의 개념 (0) | 2013.03.20 |