【问题标题】:Data transmission through USB通过USB传输数据
【发布时间】:2010-11-23 17:26:45
【问题描述】:

我想开发代码以通过 USB 将数据从系统传输到 PIC。 任何人都可以提供有关通过USB传输数据的良好链接。 因为我是新手。

注意:很简单,代码对我来说就足够了。

提前致谢

【问题讨论】:

  • 你在看哪张照片?每一个都是不同的。
  • 大概 OP 是指带有 USB 外设的 PIC 之一;外围设备本身应该与那些几乎相同。
  • 对不起,我没有从我的客户那里得到确切的规格。它可能是 PIC16F877A 引导加载程序。这就是我从基础学习的原因。

标签: c++ embedded visual-c++


【解决方案1】:

检查http://www.beyondlogic.org/usbnutshell/pic16f876.gif一定会帮助你 还 ttp://www.beyondlogic.org/usbnutshell/usb7.htm ,在第二个链接前面输入 h。

【讨论】:

    【解决方案2】:

    我完全同意 FTDI 路线,但是如果您不是在寻找 USB 上的 UART 隧道,那么您必须更深入一点。

    您必须自己编写 USB 例程或为您的处理器查找库/项目。您肯定需要的是一个快速时钟 - 12MHz 是必需的 更多更好,因为在像这样的小型 uC 上,您将花费大部分时间来处理 USB 的基础知识 - 信号等等。您还需要相当多的内存,因为我认为 USB 代码占用了大约 1.5K。然后,您需要为自己的代码留出空间。

    我见过 V-USB (http://www.obdev.at/products/vusb/index.html)。它适用于 AVR 而不是 PIC,但它表示它提供了您需要的所有 USB 功能,甚至提供供应商和产品 ID 供您使用(我相信非商业用途)。还有一个用于 USB 的 PIC 项目与您的硬件不同:http://www.alanmacek.com/usb/

    要制作驱动程序,您必须使用 libusb - 这是 win32 版本的链接:http://libusb-win32.sourceforge.net/

    它比我预期的要简单得多,但我只是查看了示例代码,并没有真正做任何事情。祝你好运!

    【讨论】:

    • 感谢斯蒂芬·弗里德里希斯。我从那个链接(alanmacek.com/usb)获得了很多基本信息。我将在我的环境中检查相同的源代码并尽快通知您。
    • 最简单的方法就是在uP串口上贴一个FTDI芯片,在PC端使用普通的FTDI usb串口驱动​​?
    【解决方案3】:

    PIC16F877 没有内置 USB 外设。我假设您正在构建的产品是“USB 设备”,并且您所指的“系统”将提供 USB 主机功能。如果是这种情况,那么您必须在硬件中添加一个 USB 接口芯片,以提供异步串行到 USB 连接。合适的设备由 TI(TUSB 系列)或 FTDI 制造。然后,您将其中一个连接到 PIC 内部 USART,并假装您正在通过一个简单的串行端口传输数据。如果您使用的是 PC,则连接的设备将显示为标准 COMn:端口。

    【讨论】:

      【解决方案4】:

      由于您的任务将涉及 Windows 设备驱动程序的开发,我建议您下载并安装 WDK 并查看包含的示例 USB 驱动程序。

      这可能会为您提供有关该主题复杂性的一些提示。设备驱动程序开发并不是最容易开始的事情。

      也许您可以从 UART 通信 (RS232) 开始。

      【讨论】:

      • 不真实;如果设备属于任何默认支持的类,则无需编写驱动程序。最明显的候选者是 HID(人工输入设备)
      • OP 正在请求数据传输。我看不出 HID 类驱动程序对他有什么用处。也许您可以在自己的答案中提出一些建议。但我同意你的观点,他可以在不编写自己的驱动程序的情况下使用其他一些驱动程序类(如 Ian 所说的 USB-COM-Ports)。一切都取决于他使用的 PIC 硬件。
      • 如果不传输数据,您认为 HID 类设备会做什么?我不仅看到了鼠标和键盘,还看到了使用 HID 类的数字化平板电脑、不间断电源等。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多