Последовательный порт связи с#
Привет ребята,
Я разрабатываю форму Windows с коммуникацией со шкалой. Я не могу получить сообщение от масштаба. COM - порт идентифицирован, но полученный метод не подвергается преследованию. Ниже приведен код.
Что я уже пробовал:
<pre lang="c#"> if (cbParametro.Text != "" && cbAplicacao.Text != "") { txtP1.BackColor = Color.LightCoral; txtP2.BackColor = Color.LightCoral; string[] versaoRSplit = Variaveis.configuracao_bal.Split(';'); //Porta: COM1; Velocidade: 9600; DataBit: 8 string porta = versaoRSplit[0].Trim(); string porta_conf = porta.Replace("Porta: ", ""); string veloc = versaoRSplit[1].Trim(); string veloc_conf = veloc.Replace("Velocidade: ", ""); string databit = versaoRSplit[2].Trim(); string databit_conf = databit.Replace("DataBit: ", ""); try { serialP.Close(); } catch { } try { int velocidade = Convert.ToInt32(veloc_conf); int databit_int = Convert.ToInt32(databit_conf); serialP.PortName = porta_conf; serialP.BaudRate = velocidade; serialP.Parity = Parity.None; serialP.DataBits = databit_int; serialP.StopBits = StopBits.One; serialP.Handshake = Handshake.None; serialP.RtsEnable = true; serialP.DtrEnable = true; serialP.DataReceived += new SerialDataReceivedEventHandler(serialP_DataReceived); serialP.ReadTimeout = 500; serialP.WriteTimeout = 500; serialP.Open(); MessageBox.Show("Configuração realizada com sucesso."); txtP1.BackColor = Color.LightGreen; txtP1.Focus(); txtP2.BackColor = Color.LightCoral; } catch (Exception m) { MessageBox.Show("Houve um erro ao testar as configurações informadas." + Environment.NewLine + "Detalhe: " + m.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void serialP_DataReceived(object sender, SerialDataReceivedEventArgs e) { MessageBox.Show("Mensagem Recebida."); if (txtP1.Focused) { string indata = serialP.ReadExisting(); txtP1.Text = indata; txtP2.BackColor = Color.LightGreen; txtP2.Focus(); } else if (txtP2.Focused) { string indata = serialP.ReadExisting(); txtP2.Text = indata; MessageBox.Show("Pesagem foi realizada com sucesos."); } else { string indata = serialP.ReadExisting(); txtP1.Text = indata; MessageBox.Show("Data Received:" + indata, "Aviso"); txtP2.BackColor = Color.LightGreen; txtP2.Focus(); } }