【问题标题】:Can't program Arduino from OS X无法从 OS X 对 Arduino 进行编程
【发布时间】:2013-09-30 03:29:03
【问题描述】:

我正在尝试从 OS X Lion 对 Arduino 进行编程。它绝对行不通,我没有其他机器可以解决这个问题。

这是我尝试上传时遇到的错误:

Binary sketch size: 1260 bytes (of a 32256 byte maximum)
avrdude: stk500_recv(): programmer is not responding

我尝试擦除并重新安装 arduino 开发工具包,但得到了同样糟糕的结果。

我还尝试在运行 ubuntu 的 VMWare Fusion 上对此进行编程。我得到相同的programmer not responding error。在此过程中,我还查看了我的 /var/log/syslog 并看到以下错误:io/hpmud/pp.c 627: unable to read device-id ret=-1 我不知道该怎么做。

我不认为这是一个糟糕的董事会。我对 2 个 arduino 有同样的问题:一个全新的 arduino 开箱即用,另一个 3 周大。这曾经有效,但突然失败了。

任何可以测试和验证我使用的 USB 端口的低级 CLI 工具?

如何让这个 arduino 接受我的程序?

【问题讨论】:

  • 你有没有检查明显的东西,比如在工具菜单中选择了正确的板子和串口?
  • 该板是一个 Uno,在工具菜单中被选中。当我插入 Arduino 时,我的工具 > 串行端口菜单中会出现两个选项:/dev/tty.usbmodemfd121/dev/cu.usbmodemfd121。无论我选择哪个选项,我都会收到上述错误。
  • 在底层工具方面,问题是你可以尝试直接连接到串口,但很可能它没有编程来响应你。您可以尝试查看 avrdude 是否会直接与它对话:/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -p m328p -b 115200 -c arduino -P /dev/cu.usbmodemfd121 -v(假设您像往常一样在/Applications 中安装了 Arduino)。这应该报告设备签名,如果出现问题,可能会为您提供更多信息。如果该命令成功,则 Arduino GUI 出现了一些奇怪的问题。
  • 发生了一些事情,一次上传就可以了。现在它不会再工作了。新的错误是avrdude: stk500_getsync(): not in sync: resp=0x4c整个Arduino编程环境看起来很不稳定。
  • 现在真的很糟糕!我找到了一个需要两个 arduino 的解决方法。我可以上传到 arduino A。只有一次。如果我尝试上传两次,我会得到avrdude: stk500_getsync(): not in sync: resp=0x00。然后我必须换成 Arduino B,它只允许我上传一次。该模式与第二个 arduino 重复。有没有办法告诉 Arduino 同步?还是强求?

标签: ubuntu osx-lion arduino


【解决方案1】:

我也有一个 MAC,类似的事情发生在我身上...我通过创建文件夹 /var/tmp 解决了这个问题

你可以在终端输入:

sudo mkdir /var/tmp

也许你需要给它完全烫发。

sudo chmod 777 /var/tmp

但我不知道这一步。

这对我有用,因为 arduino 程序尝试将临时文件写入此文件夹,如果该文件夹不存在,则程序假定程序员发生了一些问题。

也许它对你有用,也许不是......我们会看到的!

【讨论】:

    【解决方案2】:

    同样的问题... 我启用了详细模式并得到了类似的东西:

    Using Port                    : /dev/cu.usbserial-A6013O93
             Using Programmer              : arduino
             Overriding Baud Rate          : 115200    
    /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -carduino -P/dev/cu.usbserial-A6013O93 -b115200 -D -Uflash:w:/var/folders/d6/nx58qfsj6zbbw65bcsrnxc4r0000gn/T/build6866034938793144439.tmp/Blink.cpp.hex:i 
    

    将波特率更改为 57600(-b11520 改为 -b57600):

    /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -carduino -P/dev/cu.usbserial-A6013O93 -b57600 -D -Uflash:w:/var/folders/d6/nx58qfsj6zbbw65bcsrnxc4r0000gn/T/build6866034938793144439.tmp/Blink.cpp.hex:i
    

    它奏效了。程序已上传。 希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2011-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-25
      • 2010-12-31
      • 2013-01-28
      • 1970-01-01
      • 2016-08-30
      相关资源
      最近更新 更多