cp2102 を搭載したカスタム デバイスを Android 搭載タブレットに接続したいと考えています。VCP モード (PID EA60 を使用) で接続し、JavaComm を使用してそれを見つけます。
@SuppressWarnings("unchecked")
Enumeration <CommPortIdentifier> ports = CommPortIdentifier.getPortIdentifiers();
while (ports.hasMoreElements())
{
final CommPortIdentifier port = ports.nextElement();
Log.d(null, port.toString());
}
しかし、私はループに入ることはありません。
シラブの代わりに FTDI を使用するオプションがあります。JNI を介して D2xx dll を使用するバリアントがあります。私は彼らのガイドに従いましたが、ft232r に接続して接続されているデバイスの数を特定しようとすると、メモリ クラッシュが発生しました (LogCat で何かを通知し、ヒープが破損したというメッセージが表示されます)。タブレットからデバイスのプラグを抜くと、同じコード (サンプル コード) が問題なく動作し、0 が返されます。これは本当です。
FTDI で JavaComm を使用すると、結果は cp2102 と同じになり、ループには入りません。
私は何かを見逃しているか、何か間違っていると思います。
たとえば、VCP の代わりに USB モードを使用する場合は、検索を開始する準備ができています。ヒントが必要です。
どんな助けでも大歓迎です。