3

Visual Studio C# を使用して USB シリアル アダプタである COM4 に文字列を書き込もうとすると、次のエラーが発生します。

ポート「COM4」へのアクセスが拒否されました。

私のプログラムは非常に単純です:

serialport.Open();
serialport.WriteLine("test");
serialport.Close();

また、pythonでpyserialを使用してみましたが、次の結果が得られました。

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    ser.write("string")
  File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 255, in write
    raise SerialException("WriteFile failed (%s)" % ctypes.WinError())
SerialException: WriteFile failed ([Error 6] The handle is invalid.)

この質問はプログラミングとはあまり関係がなく、おそらくWindows 7の問題であることは知っていますが、誰かがすでに同様の問題を抱えていることを望んでいました.

4

3 に答える 3

1

シリアルポートに複数の同時接続を設定することはできません。ポートが使用されている可能性があります。

于 2010-09-04T06:10:49.153 に答える
1

これを試して:

実行可能ファイルを右クリックし、「管理者として実行」を選択します。デフォルトでは、Windows 7 は管理者権限なしでプログラムを実行します。COM ポートに書き込むには、管理者としてプログラムを実行する必要があると思います。

于 2010-09-04T04:18:30.447 に答える
1

アクセス許可や使用中のポートとは何の関係もありませんでした。私がインストールしたバージョン (64 ビット Python と 32 ビット pyserial) が原因であるという関連する質問を見つけました。

私がまだ理解できないのは、なぜC#でも動作しなかったのかということですが、それは問題ありません。私はちょうどpythonを使用します。

于 2010-09-07T04:52:32.213 に答える