我正在尝试使用AT90USB162 Atmel芯片作为通信设备类(CDC),以将某些外部传感器与某些Windows应用程序进行通信。

Atmel Application Notes site for this chip中,我找到了应用笔记AVR296: AVRUSBRF01 USB RF Dongle user's guide,其中描述了将该芯片用作CDC的方法(出于RF的目的,但这不是这里要关注的问题)。该应用笔记随附了压缩文件AVR296.zip,其中包含用于刻录芯片的.a90文件和用作Windows驱动程序的.inf文件。

因此,我用提供的AVRUSBRF01-AT90USB162-usbdevice_cdc_rf-2_0_1.a90文件刻录了芯片,并在Windows上安装了at90usbxxx_cdc.inf驱动程序。最终,Windows成功地识别了COM端口,现在我正尝试通过CDC机制与芯片进行通信。

然后,是否有一个标准命令列表可供与Atmel用作CDC的微芯片一起使用?

我想要做的事情类似于在Windows中的C ++中,用于驻留应用程序访问通过USB连接的微芯片以读取特定的引脚状态,例如:

ComPort1->WriteStr("read?\n");
Response : String;
ComPort1->ReadStr(Response, 50);

最佳答案

没有人回答,我在其他论坛上也提出了要求,并将在此发布回复,以了解SO社区的知识。

首先,答案是否定的。然而...

avrfreaks,感谢@glitch:


  cdc代码仅是AVR公式的一半。所有的cdc代码所做的都是模拟一个cdc设备,因此您的pc代码可以与该设备进行交互,就好像它是通过串行端口连接的一样。现在,您需要在AVR上编写自己的代码,该代码与cdc代码链接,以实现所需的协议和功能。 cdc代码不执行任何操作。 [您还需要写pc端。或者,如果您实现的协议基于ascii,则可以使用标准的终端应用程序]


并感谢@ dakk64:


  Here是菜单驱动界面的示例,实现为protothread,但是您可以将其放入主循环中。


由于这里有874个LOC,因此我不会在此处发布整个代码,但是您可以去那里看看。

因此,它并不是那么简单,没有默认列表(例如,旧的AT调制解调器代码),但是知道这是一个开始。

关于c++ - Atmel的微芯片CDC的标准C​​OM端口命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8196072/

10-14 05:28