我打算将我的AT90USB162(集成为Minumus AVR USB板)用作COMPORT的通信设备类。在Minimus AVR home site中,它提供了一个代码,用于在AVR-USB-162-CDC.zip中为我的芯片构建COMPORT十六进制(此项目使用WinAVR 4,但您也可以使用WinAVR 5构建它,请参阅Build AVR Studio 4 project in AVR Studio 5) 。在构建代码时,我将hex文件加载到芯片中并进行重置。问题是我的Windows 7-64无法识别添加新的COMPORT,所以我无法从设备管理器访问它(因此也不能从Hyperterminal访问它),实际上当我在USB端口上插入构建的芯片时,它什么也没发生。
所以,我需要让我的Windows识别我的芯片作为我的AT90USB162的USB COMPORT。我该怎么做?我不做什么?
我还尝试了来自AVR-CDC site的.hex文件和驱动程序,但实际上我的芯片的驱动程序不可用(我仍尝试使用其他可用的驱动程序)。但没有回应。
更新
我在AVR-CDC Windows Driver Section中发现了一条说明:
(*)Vista / 7 x64不接受未经授权的内核模式驱动程序。您必须在系统启动期间关闭“Driver> Signature Enforcement”。有一个工具可以签署驱动程序。 Driver Signature Enforcement Overrider 请参阅/vista64/Readme64.txt中的说明。
因此,当我下载Driver Signature Enforcement Overrider时,我按照/vista64/Readme64.txt上的说明进行操作。简而言之,它应该使Windows能够接收CDC驱动程序lowcdc.sys和lowcdc.inf,后者附带AVR-CDC驱动程序。
但仍然没有回应。
更新
我测试了在Windows XP SP3机器上加载微芯片。因此,它不是Windows 7/64中的驱动程序签名强制执行问题。
更新
我发现了这个:Engbedded AVR Fuse Calculator,但对如何使用它不知道。
更新
我从用户clawson的avrfreaks论坛得到了以下答案:
“尝试下载usbdeview.exe以查看枚举期间发生的情况。可能是VID / PID需要.inf文件来选择正确的驱动程序。
你可以做的一件事是下载LUFA并在其中构建一个CDC示例 - 它几乎必将起作用。“
但仍然没有奏效。我下载了usbdeview并尝试观看芯片。但是当我将它插入USB端口时,如果.hex烧录文件是CDC,它仍然没有任何作用。
我还下载了LUFA并尝试构建CDC示例。也没有成功。在makefile中,我设置MCU = at90usb162,F_CPU = 16000000,FLASH_SIZE_KB = 16,BOOT_SECTION_SIZE_KB = 4,其他参数我保持不变。我还将AVR Studio项目定义更改为设置为90usb162。 hex文件生成没有错误。但是当我尝试刻录芯片时,Flip app会返回错误消息“我们超出范围。”。最后我意识到新的.hex文件与前一个文件相同(不更改makefile和AVR Studio项目文件)。
那么,也许有人更有想法?
更新
也许是司机问题? (而不是.hex的问题?)任何解决方案?
更新
我在Atmel Application Notes site for this chip中找到了应用笔记AVR296: AVRUSBRF01 USB RF Dongle user's guide,其中介绍了将此芯片用作CDC的方法,并提供.a90
文件来刻录芯片和.inf
用作Windows驱动程序的文件。我已经使用提供的AVRUSBRF01-AT90USB162-usbdevice_cdc_rf-2_0_1.a90
文件刻录了我的芯片,并在我的Windows上安装了at90usbxxx_cdc.inf
驱动程序。 Windows成功识别COMPORT,所以问题不在于芯片,可能是在CDC演示代码本身。
那么,有人可以确定代码中的错误/错误在哪里吗?
答案 0 :(得分:0)
当我在USB端口上插入内置芯片时,它什么也没发生。
仅当您忘记其中一条USB数据线上的1.5 kOhm上拉电阻时,才会发生这种情况。没有它就没有USB通信。在某些情况下,这个电阻是片内电阻,其他电阻需要外部电阻。
答案 1 :(得分:0)
尝试使用LUFA当然是一个非常好的主意,可能对于您需要忽略无线子系统的初学者 - 只要看看是否可以使一些基本的USB设备示例正常工作。
如果可行,请参阅如何集成无线电的驱动程序。您可能还希望查看 TinyOS 和/或 Contiki 。您可能无法使用 6loWPAN ,如果我记得正确,Nordic没有 IEEE 802.15.4 芯片。但您仍然可以在 TinyOS 中的 Contiki 或 ActiveMessage 中使用 Rudolph 。
如果您希望Atmel代码能够正常运行,最好通过他们提供的支持设施联系Atmel。 AVR Freaks上的某个人很可能会使用这个特定的电路板,我怀疑你可能会在这里找到答案,这对你正在研究的参考设计是特定的。