직렬 포트에서 데이터를 읽고 텍스트 상자에 배치하는 간단한 프로그램이 있습니다. 그 후 그 데이터를 가져 와서 다른 작업을 수행하고 싶습니다 (비교하는 등 ...). 받은 데이터는 텍스트 상자에 배치되지만 Convert.Int32 (textbox.Text)를 사용하여 정수로 변환하면 프로그램에서 오류가 발생합니다. 어떤 도움이라도 대단히 감사합니다. 여기에 내 코드의 일부입니다 :직렬 포트에서 데이터를 읽고 C에서 비교 #
try
{
textBox1.Text = serialPort1.ReadExisting();
int x = Convert.ToInt32(textBox1.Text);
switch (x)
{
case 1: textBox17.Text = "Received Number is 1"; break;
case 2: textBox18.Text = "Received Number is 2"; break;
case 3: textBox19.Text = "Received Number is 3"; break;
}
}
catch (TimeoutException)
{
label1.Text = "Timeout Exception";
}
I 유형 FormatException
의 예외를 가지고있다가,이 예외 메시지에 대한 스크린 샷입니다 :
예외를 작성하십시오. –
'TimeoutException'을 잡을 뿐이지 만 변환 예외와 같은 다른 유형의 예외는 catch하지 않습니다. 오류 세부 정보와 정수로 변환하려고 시도한 문자열을 제공해야합니다. – Mahmoud
@Mahmoud Convert.ToInt32에 오류가 있습니다. PIC에서받는 문자열은 숫자입니다. 문제가 어떻게 해결 될 수 있는지 알 수 있습니까? – Fawaz