안녕하세요 선생님
제가 요즘 c#으로 시리얼통신을 만들고 있는데, 테스트를 하다가 실수로 블루투스 시리얼 포트를 연결을 했습니다.
그랬더니 제가 만든 시리얼 통신 gui의 버튼들 뿐만 아니라 gui가 멈추는 현상이 발생했습니다.
저는 GUI를 만드는 사람으로써 다른 사용자에게 이 gui를 전달했고, 그 사용자도 마찬가지로 실수로 블루투스 포트와 연결해서 똑같은 멈춤현상이 나타났을때
이러한 현상을 보완하기 위해서는 어떻게 하는 것이 좋을지 궁금합니다.
아래 코드는 시리얼연결 부분 입니다.
private void COMnum_SelectedIndexChanged(object sender, EventArgs e) // com 포트 combobox를 누르면 새로고침이 되는 부분
{
COMnum.Items.Clear();
foreach (var item in SerialPort.GetPortNames())
{
COMnum.Items.Add(item);
}
}
private void Connec_BTN_Click(object sender, EventArgs e) // Serial 포트 연결 부분
{
if (COMnum.Text == "")
{
return;
}
if (Connec_BTN.Focused)
{
btnStatus = !btnStatus;
}
if (btnStatus)
{
try
{
if (serialPort1.IsOpen)
{
serialPort1.Close();
}
else
{
serialPort1.PortName = COMnum.SelectedItem.ToString();
serialPort1.BaudRate = 115200;
serialPort1.DataBits = 8;
serialPort1.StopBits = StopBits.One;
serialPort1.Parity = Parity.None;
serialPort1.DataReceived += new SerialDataReceivedEventHandler(serialPort1_DataReceived);
serialPort1.Open();
Connec_BTN.Text = "Disconnection";
richTextBox1.Text = richTextBox1.Text + "Serial Connected" + Environment.NewLine;
autoscroll();
}
}
catch (Exception)
{
serialPort1.Close();
richTextBox1.Text = richTextBox1.Text + "Serial Port ERROR! 포트를 확인해주십시오!" + Environment.NewLine;
autoscroll();
}
}
else
{
serialPort1.Close();
Connec_BTN.Text = "Connection";
richTextBox1.Text = richTextBox1.Text + "Serial Disconnected" + Environment.NewLine;
autoscroll();
}
}
[최초 등록일: ]
[최종 수정일: 6/7/2022]