2011-08-14 10 views
0

私のソフトウェアで設定ファイルから使用するCOMポートを選択しようとしています。 私は今まで運がなかった、ちょうど明確にするために、ちょうどC#の初心者ですが、もっと学びたいと熱望しています。 私はさまざまなマイクロコントローラにコマンドを送信する4つのCOMポートを持っています。それをトリガーするC#設定ファイルの複数の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); 

そしてボタン:
は、これまでのところ私は魔女のCOM使用するポートとその設定を定義するには、このコードを使用している

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!!"); 
     } 



    } 

私が読んだ多くを作成するに設定ファイルを使ってその値を定義していますが、私はそれがシリアルポートで動作するように思えます。 これを自分のコードに実装する方法はありますか?

おかげ

答えて

0

あなたは、configファイルのappSettingsセクションにアクティブポートの番号(使用するポートを)置くことができます。次に、ConfigurationMangerクラスを使用して、アプリ設定から値を取得できます。

設定ファイル:

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

コード:あなたは "COM1、COM3" のようにカンマで区切られた値を使用し、それを分割することができ、複数のポートの場合

var port=ConfigurationManager.AppSettings["activePort"] 

詳細については、this MSDNページを参照してください。

関連する問題