【问题标题】:Interfacing PIC Microcontroller with Java on PC using USB使用 USB 在 PC 上将 PIC 微控制器与 Java 接口
【发布时间】:2010-02-26 07:52:19
【问题描述】:

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

【问题讨论】:

  • 如果你知道,请告诉我,因为我过去也遇到过类似的问题。我已经使用了 MPLab ICD2(我认为)。

标签: java usb communication microcontroller pic


【解决方案1】:

首先声明:我没有使用 PIC 和 Java 进行此操作,仅使用 PC 上带有 VB 的 AVR32B。

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

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

【讨论】:

  • +1 好答案 - 您应该始终寻求尽可能高的软件堆栈接口,而不是试图明确地在 USB 级别工作。
【解决方案2】:

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

PIC18F4550 及其朋友有板载 USB。这很容易,并且有很多示例可以将虚拟串行端口放入 PIC 固件中。另一个是 HID 设备,同样有很多 PIC 固件示例。

不要在布丁中添加更多硬件。

【讨论】:

    【解决方案3】:

    Arduino 的方法应该适合您的需求:带有硬件 UART 的微控制器与 FTDI USB 转 TTL 芯片相结合,然后使用 rxtx 访问“100+”平台上的串行端口。

    这种方法似乎效果很好:在 Linux、Windows 和 OS X 下,与 arduino 进行通信和编程非常容易。

    【讨论】:

    • 这会有点浪费金钱/电路板空间,因为这里使用的 PIC 有自己的内置 USB 2.0 控制器。
    • 非常非常有趣的项目!没听说过!
    • @Ian:同意。虽然我觉得我应该指出,我将 arduino 的方法描述为这种设置的一个例子,而不是作为 @melco-man 遵循的公式。将您的答案与我的答案相结合将产生最佳答案。
    • 我同意@Ian 和@freespace,这不是的方式,这次是用那个处理器。
    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多