4

こんにちは!PIC18F4550をJavaプログラムとインターフェースさせ、最初はクロスプラットフォームにしたい。私が今Javaに持っている唯一の方法はjavacommです。しかし、最近ではすべてのラップトップにRS232ポートがあるわけではないので、USBにしたいです。PICをJavaとインターフェースする方法は、実際にクロスプラットフォームにし、新しいOSごとにドライバーを作成しないようにすることを提案できますか?

4

4 に答える 4

2

最初の免責事項:私はこれをPICとJavaで行ったのではなく、PC上のVBを備えたAVR32Bでのみ行った。

マイクロコントローラーのUSBインターフェイスにUSBCDCクラスのデバイスを実装し、それをPCのUSB HOSTに接続すると、新しいCOM:ポートとして列挙されて表示されます。これは、アプリケーションによって通常のシリアルポートとして扱われます。標準のWindowsドライバーUSBSER.SYSを使用しました。

マイクロチップは、さまざまなデバイスクラスで動作できるように、USB周辺機器のサンプルソースコードを提供していると思います。(私はAtmelがAVR32ファミリーのために行うことを知っています)

于 2010-02-26T08:46:57.617 に答える
2

なぜ上記の答えを受け入れたのですか?@Ianのコメントに同意します。

PIC18F4550とその仲間はオンボードUSBを持っています。PICファームウェアに仮想シリアルポートを配置するのは簡単で、例はたくさんあります。もう1つはHIDデバイスで、これもPICファームウェアの例がたくさんあります。

プリンにハードウェアを追加しないでください。

于 2010-02-28T13:26:38.330 に答える
1

Arduinoのアプローチは、ニーズに適応できる必要があります。ハードウェアUARTとFTDI USB-to-TTLチップを組み合わせたマイクロコントローラーを使用し、rxtxを使用して「100+」プラットフォームのシリアルポートにアクセスします。

このアプローチはうまく機能しているようです。Linux、Windows、OS Xでは、arduinoの通信とプログラミングは非常に簡単です。

于 2010-02-26T08:53:29.273 に答える
1

WIN32APIを直接呼び出すには、JNIを使​​用する必要があります。私はJNA(JNIラッパー)ライブラリを使用して実装を簡単にし、DLLを作成してVisual C ++ 2010でメソッドを簡単かつ直接エクスポートしました。OSXやOSXなどの他のシステムへの同じインターフェイスを使用して他のライブラリ(DLL / SO)を作成することもできます。 Linux。

于 2011-02-15T21:22:31.460 に答える