在配置文件中定义多个COM端口和设置

本文关键字:设置 COM 配置文件 定义 | 更新日期: 2023-09-27 18:05:26

我试图让我的软件选择从配置文件中使用。到目前为止,我还没有任何运气,只是为了澄清,我只是一个c#的新手,但渴望学习更多。我有4个com端口,将发送命令到各种微控制器。到目前为止,我一直使用这段代码来定义要使用的com端口及其设置:

SerialPort SerialPort1 = new SerialPort("COM1", 19200, Parity.None, 8, StopBits.One);
SerialPort SerialPort2 = new SerialPort("COM2", 19200, Parity.None, 8, StopBits.One);
SerialPort SerialPort3 = new SerialPort("COM3", 19200, Parity.None, 8, StopBits.One);
SerialPort SerialPort5 = new SerialPort("COM4", 19200, Parity.None, 8, StopBits.One);

和一个触发按钮:

  private void button1_ON_Click(object sender, EventArgs e)
    {
       try
        {
            if (!(SerialPort1.IsOpen))
                SerialPort1.Open();
            SerialPort1.Write(new byte[] { 0xFF, 0x01, 0x01 }, 0, 3);
            SerialPort1.Close();
            timer1.Interval = 500;
        timer1.Enabled = true;
        timer1.Tick += new System.EventHandler(OnTimerEvent1);
        }
        catch (Exception ex)
        {
            MessageBox.Show("Error writing to serial." + ex.Message, "OH NO AN ERROR!!");
        }

    }

我读了很多创建一个配置文件来定义它的值,但我似乎不能让它与串行端口一起工作。你有什么建议如何实现这到我的代码?

谢谢

在配置文件中定义多个COM端口和设置

您可以将活动端口的编号(要使用的端口)放在配置文件的appSettings部分。然后你可以使用ConfigurationManger类从应用程序设置中获取值。

配置文件:

<appSettings>
  <add key="activePort" value="COM3" />
</appSettings>

代码:

var port=ConfigurationManager.AppSettings["activePort"]

对于多个端口,您可以使用逗号分隔值,如"COM1,COM3",然后将其分开。

有关更多信息,请查看此MSDN页面: