首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用USB编程实现ATmega32的串行编程

如何用USB编程实现ATmega32的串行编程
EN

Stack Overflow用户
提问于 2014-08-13 02:40:56
回答 1查看 2.1K关注 0票数 0

我在virtualbox中使用winxp,主机作为ubuntu。连接到主机的usb程序员被路由到来宾。我使用的是WinAVR,它使用avrdude,在makefile中的相关字段给出处理器为Atmega32,端口为usb,程序员为stk200。尽管如此,它仍然说找不到设备"usb“。请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2014-08-13 18:37:10

您的错误是由命令中的错误-P usb造成的:

-p atmega32 -P usb -c stk500v2 -U flash:w:main.hex

当使用USB串行连接的程序员或引导加载程序时,不要将"usb“作为端口,因为操作系统驱动程序()的下游,这些不是USB设备,而是串行端口

当您使用这样的设备时,确定它连接到的com端口或设备节点(可能通过查看连接和断开它时哪个端口/节点消失),找出程序员所需的波特率,并发出如下命令:

Windows上的COM1或其他任何东西

代码语言:javascript
复制
avrdude -p atmega32 -P COM1 -b115200 -c stk500v2 -U flash:w:main.hex

Linux或OSX

代码语言:javascript
复制
avrdude -p atmega32 -P /dev/whatever -b115200 -c stk500v2 -U flash:w:main.hex

Linux上的设备文件应该是/dev/ttyUSB0 0或/dev/ttyACM0,而在OSX上则是/dev/tty.usbmodem或类似文件。

您在注释中提出的使用-P avrdoper的替代解决方案利用了这样一个事实:在主机操作系统看来,您的特定程序员提供的不是USB串行设备的备用接口,而是一种自定义USB协议,至少有一些版本的avrdude知道如何交谈。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25277212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档