2

最終的には、Java プログラムを使用して、USB 経由で接続した電話からメッセージを送受信したいと考えています。C# プログラムを使用してこれを行うことができますが、メッセージを送受信するプログラムは Java で記述されています。これを行うために、Rxtx ライブラリを使用しています (ただし、Cloudhopper の Windows x64 コンパイル バージョンを使用しています)。しかし、USB経由で電話にコマンドを送信しようとすると、コンピューターが完全にロックされ、ハードリスタートする必要があります.

私が実行しているコードは次のとおりです。シリアルポートとの双方向通信。コンソールからの入力を受け付ける段階まで来ているのでリンクは成功していると思いますが、エンターを押して入力を送るとパソコンが固まってしまいます。

Eclipse を使用して Windows 7 x64 を実行しています。助けてくれてありがとう。

4

1 に答える 1

2

コードからはわかりにくいですが、デバッグのヒントをいくつか示します。

  • デバッガーを使用してコードを 1 行ずつステップ実行し、ライブラリ自体にステップ インして、問題が見つかるかどうかを確認してください。
  • コンソールから読み書きする代わりに、プログラムで文字コードを送信してみてください。コンソールは、直接アクセスとは大きく異なります。つまり、System.in.read()) の代わりに、既知の適切な文字列を渡してみてください。
  • Java は内部的に UCS-16 で動作しますが、コンソールは通常、異なる文字エンコーディング (Windows の cp1252 など) で動作することに注意してください。したがって、「入力」は、システムが期待するものとはまったく異なる文字である可能性があります。デバイスが ASCII 13 を予期していて、キーボードが ASCII 12 を生成している場合、それで混乱する可能性があります。
  • クラッシュにより、ネイティブ ライブラリで何かが起こっている可能性が非常に高いように見えます。Java デバッグで JNI 境界に陥り続ける場合は、C/C++ ツールセットを使用してデバッグする必要がある場合があります。

幸運を!

于 2011-04-04T22:42:21.410 に答える