4

你好!我想将 PIC18F4550 与 Java 程序接口,并使其最初是跨平台的。我现在的 Java 只有一种方法是javacomm。但我希望它是 USB,因为现在并不是每台笔记本电脑都有 RS232 端口。您可以建议将 PIC 与 Java 接口的方式使其真正跨平台并避免为每个新操作系统编写驱动程序?

4

4 回答 4

2

首先是免责声明:我没有使用 PIC 和 Java 完成此操作,仅使用 PC 上带有 VB 的 AVR32B。

如果您在微控制器 USB 接口上实现 USB CDC 类设备并将其连接到您的 pc USB HOST,它将枚举并显示为新的 COM:端口。然后应用程序将其视为普通串行端口。我使用了标准的 Windows 驱动程序 USBSER.SYS。

我认为 microchip 为其 USB 外围设备提供示例源代码,以允许它在不同的设备类中运行。(我知道 Atmel 为 AVR32 系列做)

于 2010-02-26T08:46:57.617 回答
2

你为什么接受上面的答案?我同意@Ian 的评论。

PIC18F4550 及其朋友有板载 USB。这很容易,并且有很多示例可以将虚拟串行端口放入 PIC 固件中。另一个是 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

您需要使用 JNI 直接调用 WIN32API。我使用 JNA(JNI 包装器)库来简化实现,并制作了一个 DLL 以在 Visual C++ 2010 中导出更简单和直接的方法。您还可以使用与 OSX 等其他系统相同的接口创建其他库 (DLL/SO) 和Linux。

于 2011-02-15T21:22:31.460 回答