通过USB传输数据

时间:2009-08-28 12:55:45

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

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

注意:非常简单的代码对我来说已经足够了。

先谢谢

4 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

我完全同意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/

这比我预期的要简单得多,但我只是查看了示例代码而实际上没有做任何事情。祝你好运!

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

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

相关问题