안녕하세요 선생님
제가 요즘 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]