我正在尝试使用AT90USB162 Atmel芯片作为通信设备类(CDC),用于将一些外部传感器与某些Windows应用程序通信。
在此芯片的Atmel应用程序备注站点中,我找到了应用程序注意事项http://www.atmel.com/dyn/resources/prod_documents/doc7808.pdf,它描述了一种将该芯片用作CDC的方法(用于射频目的,但这里并不关心这个问题)。这个应用程序说明附带了压缩文件AVR296.zip,其中包含用于烧录芯片的.a90文件和用作Windows驱动程序的.inf文件。
因此,我用提供的AVRUSBRF01-AT90USB162-usbdevice_cdc_rf-2_0_1.a90文件烧毁了我的芯片,并在Windows上安装了at90usbxxx_cdc.inf驱动程序。最后,Windows成功地识别了COM端口,现在我正试图通过CDC机制与芯片进行通信。
那么,是否有一个标准的命令列表,用于使用Atmel的微芯片作为CDCs?
我想做的是类似于在C++中,在Windows中,一个常驻应用程序访问由USB连接的微芯片来读取特定的引脚状态,例如:
ComPort1->WriteStr("read?\n");
Response : String;
ComPort1->ReadStr(Response, 50);发布于 2011-11-22 00:23:02
由于没有人回答,我也在其他论坛上提出要求,并将在此发表对SO社区的knoledge的回应。
起初,答案是否定的。然而..。
来自阿弗,多亏了@glitch:
cdc代码仅为AVR方程的一半。所有cdc代码都是模仿cdc设备,因此您的pc代码可以与设备交互,就好像它是通过串口连接的一样。现在,您需要在AVR上编写您自己的代码,该代码与cdc代码链接,实现您想要的任何协议,以及您想要的任何功能。疾病预防控制中心的代码没有这一切。你也需要写pc端。或者,如果您实现的协议是基于ascii的,则可以使用标准终端应用程序。
感谢@dakk64 64:
这里是菜单驱动接口的一个例子,它是作为一个原型实现的,但是您可以将它放在主循环中。
我不会在这里发布整个代码,因为这里有874个LOCs,但是您可以去那里看看。
因此,它并不是那么简单,没有默认列表(例如,旧的AT调制解调器代码),但是知道这是一个开始。
https://stackoverflow.com/questions/8196072
复制相似问题