2016-04-28 7 views
0

シリアルポートからデータを読み込んでいます。テキストボックスのデフォルト値

  1. マイテキストボックスプログラムを実行すると、私の シリアルポートのデフォルトのボーレートとして9600の値を表示する必要があります。
  2. 新しい値(5200)を入力すると、デフォルト値が置き換えられます。 誰かを助けることができますか?

    `private void buttonStart_Click(object sender, EventArgs e) 
    { 
    
        serialPort1.BaudRate = Convert.ToInt32(textBox1.Text); 
    
        serialPort1.Open(); 
    
    } ` 
    

    Picture

+0

設定しようとしているのは、textBoxの値かserialPortのBaudRateですか? –

+0

ご意見ありがとうございます。私はtextBox '値を設定しようとしています。 – user6203007

+0

その場合、値の割り当てが間違っている場合は、このようなtextBoxの値を設定する必要があります。 'textBox1.Text = Convert.ToInt32(serialPort1.BaudRate);' –

答えて

0

私の経験から、私はあなたに一つのことを言うことができる - ITは、そのようなことを行うことが非常に危険です。あなたのデバイスは単にあなたの要求を無視するかもしれないが、システムドライバはそうしないので、接続を最初に閉じて、別のボーレートでもう一度開くべきです...そのような操作は、バッファに無効な文字を引き起こし、予期せぬバーハビを実行する可能性があります。私は自分のアプリケーションで動的なボーレートの変更を行ったことはありませんが、システムが何らかの接続設定のソースとして何らかの形でこの変更を保存していると私にとって驚くことはありません。 接続を閉じて、TextBox値を変更してみます。

ご希望の場合はお手数ですが、

+0

本当にすみません、私はあなたを誤解しました。私はプログラムを実行してCOMポートのボーレートではなく、テキストボックスのテキストを変更するオプションが必要であることを意味します。テキストボックスのテキストは、後でint形式に変換してSeriaPortのボーレートに割り当てることができる文字列値(9600)を示します。 – user6203007

+0

私は今理解しています - 接続開始の前にTextBox値を設定する必要があります。 OK。あなたは上記のように 'Enabled'と 'ReadOnly'のプロパティをチェックしましたか? –

+0

大きな忍耐を示し、正しい方向に私を押してくれてありがとう:)それは最終的に働いた:)あまりにもありがとう。 – user6203007

関連する問題