だから私はSerialPort.Open()メソッドを使用して、次の例外を受け付けておりますCOM/comまたは有効なシリアルポートに解決されません "エラーが
ただし、私がデバイスマネージャでCom1ポートを無効にして有効にすると、すべて正常に動作します。それ以来、問題はありません。私はアプリを実行し、ポートを確実に開くことができます。しかし、PCをリセットしても、無効にしてから有効にするまで同じ問題が発生します。
コンピュータの起動時にCom1が開いているように見えません。 Com1が開いているときに私のアプリケーションで開こうとすると、私はArgumentExceptionを取得しません。むしろ、私はそのポートへのアクセスが拒否されたという例外があります。
私はこれをWindows 7マシンでのみ試みました。私はVS2010を使用しています。私は試みた。ネット3.5 & 4.0。
私が言ったように、アプリは一度正しく動作します。ポートをリセットします。何かご意見は?
コード(これは、簡単なテストアプリです):
public partial class Form1 : Form
{
SerialPort port = new SerialPort();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string[] ports = SerialPort.GetPortNames();
foreach (string element in ports)
{
textBox1.Text = element + "\r\n";
}
}
private void button1_Click(object sender, EventArgs e)
{
port.PortName = "COM1";
port.BaudRate = 9600;
port.Parity = Parity.None;
port.DataBits = 8;
port.StopBits = StopBits.One;
port.Handshake = Handshake.None; // Handshake.RequestToSend;
port.ReadTimeout = 1000;
port.WriteTimeout = 500;
try
{
port.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
button1.Text = port.IsOpen.ToString();
}
}
}
私はいくつかのコードを表示できますか? –
あなたの投稿を編集中... –