注释
我也有同样的问题。我已经从 avrdude 命令行(上面提到过)成功加载了代码。 使用 Ubuntu 10.10 64 位和 Arduino Uno。(使用来自 Arduino-0021 的 avrdude)(在为 uno 刷新新的 usbserial 补丁之前和之后) 这是我的 avrdude 会话的输出: ————————— snip avrdude:AVR 设备已初始化并准备好接受指令 阅读 | ################################################# | 100% 0.01 秒 avrdude:设备签名 = 0x1e950f avrdude 写作 | ################################################# | 100% 3.20 秒 avrdude:13222 字节的闪存写入 阅读 | ################################################# | 100% 3.11 秒 avrdude:正在验证… avrdude:安全模式:保险丝正常 完成了。谢谢你。 我尝试以几种波特率连接(首先尝试 9600)并得到一些垃圾字符.. -斯科特 |
我目前正在 Uno 上运行活跃的开发分支(“加速”),没有任何问题。今晚将在 Uno 上调试当前版本。 |
在主分支中运行最新代码没有问题@9600与乌诺。我在这里上传了我的十六进制文件。请尝试一下并告诉我它如何为您工作: |
我刚刚刷新了您提供的二进制文件。(刚刚和泰勒谈过,他也做了同样的事) 我们都遇到相同的结果,垃圾字符。我们正在积极调查这个..l。有什么想法吗? 好像有什么事情发生在我们这边?他正在运行 WinXp 32 位,我正在运行 Ubuntu 10.10 64 位.. 我已经使用 screen/socat 来尝试连接… 谢谢, —– 截图 avrdude:AVR 设备已初始化并准备好接受指令 阅读 | ################################################# | 100% 0.02 秒 avrdude:设备签名 = 0x1e950f avrdude 写作 | ################################################# | 100% 3.86 秒 avrdude:13272 字节的闪存写入 阅读 | ################################################# | 100% 3.23 秒 avrdude:正在验证… avrdude:安全模式:保险丝正常 完成了。谢谢你。 |
忘了提一下,我们使用的是两种不同的 Uno 板。 我现在将尝试第三个 Uno,以排除硬件问题。 斯科特 |
快速更新.. 第三个 Uno 给了我类似的行为。奇怪的… |
非常奇怪。我刚刚尝试使用您使用的 avrdude-command 重新刷新我的 uno,没有问题。你在 socat 使用什么参数?这是我目前的工作线: socat -d -d READLINE /dev/tty.usbmodem26221,clocal=1,nonblock=1,cread=1,cs8,ixon=1,ixoff=1 |
当您尝试此操作时,您是否有任何其他硬件连接到您的 unos? |
我用过: socat -d READLINE /dev/ttyACM0,clocal=1,nonblock=1,c1,ixoff=1,ispeed=9600 我相信泰勒已经尝试过腻子.. 我没有任何东西连接到板上,只有usb电缆。 我刚刚尝试了你的 socat 线,不得不为 /ttyACM0 修改:(结果相同) socat -d -d READLINE /dev/ttyACM0,clocal=1,nonblock=1,cread=1,cs8,ixon=1,ixoff=1 我注意到您有一个 tty.usbmodem26221,您认为我在 ttyACM0 上的显示与此有关吗? |
有趣的东西。我按照该线程中的说明启动并运行了 Arduino-22,现在可以通过 arduino ide 上传代码(昨天我第一次启动这个 Uno 时没有工作)。 我不相信这是我的问题,因为我可以上传代码。(现在来自 arduino ide 和 avrdude)。 我将继续沿着 ttyACM 设备的路线进行挖掘,看看我发现了什么。至少我有你的验证,这将帮助我缩小问题范围! 问题,.. 为什么你有一个 tty.usbmodem 设备? |
射击,忘了提,Tyler 从他的 Windows 机器上看到了类似的结果,他很快就会到这里,我们会重新尝试并及时通知您。 谢谢 |
我猜 ttyACM 是 Ubuntu 的东西?tty.usbmodem 可能是 OS X-ish? |
你用的是 Mac 吗?我可以在这里启动我的迷你并尝试一下…… |
也许你应该这样做?至少会消除一个可能的原因。 但我知道人们以前在 Ubuntu 和 Windows 上都使用过 Grbl。你能用一些简单的串行东西来刷它,然后用socat就能看到吗? |
有趣的发现在这里.. Windows/Mac/Linux 尝试在 9600 进行闪烁和连接。我之前阅读了一个链接,关于 Uno 的串行波特率双倍默认打开。见http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1292954023 所以我在编程后拔掉了 Uno,重新插上并尝试在 19200 与屏幕连接。 这是我的结果: ‘$’ 转储当前设置 ��H�ɉ��0.51 ‘$x=value’ 设置参数或只是 ‘$’ 转储当前设置 !!大有改善。你在9600连接?到目前为止,19200 可以重复工作!? 无论如何,我们已经跨过了第一个障碍,还有一些障碍…… |
你拥有的版本是硬连线到 9600。我打算加入比特率检测,但它总是仅次于我几天前刚刚完成的加速支持。要更改比特率,此时必须重新编译 Grbl:-/ 抱歉。鉴于我已在 9600 和 115200 成功使用它。 您在启动时看到的小故障有时是正常的。这是我在当前分支(’加速’)中修复的引导例程中的轻微黑客造成的错误。当我在真机上测试这些新东西时,我会反向移植所有内容。到目前为止,我只在逻辑分析仪上对其进行了验证。但我希望它会顺利进行,并将整合所有更改,并在一段时间内回到一个分支进行主要开发。 |
没问题…在我链接到的线程中,有一种简单的方法可以强制 Uno 关闭波特率加倍,如果是这样的话,我会尽快测试。 今晚我们正在努力将 Grbl 连接到我们的 cnc 原型。我必须重新安排一些 I/O。我们很可能会获取您最新的加速代码并启动它。 非常激动人心的时刻…我们会及时通知您。 -斯科特 |
我还没有研究过 Uno 的新可能性。有一些只是为了确保 Grbl 工作。稍后会调查它。也许我的整个波特自动检测计划现在还没有实际意义?希望如此! |
只是为了完成这个线程。 首先,串行通信正常运行。 (奇怪)。我定期在将 Grbl 加载到 Uno 时遇到问题。到目前为止,尽管听起来很奇怪,但我使用 Mac 并从那里运行 avrdude,然后我能够将设备移回我的 Ubuntu 10.10 盒子并闪存并与 grbl 通信。 在具有 arduino-0021 和 arduino-0022 硬件/工具/avrdude 的 Ubuntu 10.10 64 位上,我可以正常闪烁。但是,我以任何标准波特率从 Grbl 获得垃圾字符。 一旦我玩了 goto mac 游戏,我就能够以 config.h 文件包含的 2 倍(双)波特率连接到设备。我读过 Uno 默认启用了波特率倍增器标志。所以,默认情况下是 9600,我必须在 19200 连接,一切都很好。[ ** 还有其他人反对这种行为吗?] (在这一切之前,我确实更新了 Uno 上的 usbserial 驱动程序http://www.hacktronics.com/Tutorials/arduino-uno-linux-serial-port-printing-trouble.html) 当我有机会进一步调查时,我将针对程序员版本和操作系统内核版本。我感觉存在内核端驱动程序问题。 底线,。问题是间歇性的,我可以解决它。我将在接下来的几周内仔细记录我的发现,并报告一些更好的细节。 斯科特 |
当你刷你的 Duos 时,你把 arduino 引导加载程序留在里面了吗?这可能是你得到双倍波特而我没有的原因吗?(我经常删除引导加载程序) 无论如何,我会添加一行来禁用波特率倍增器。 |
如果您可以提取最新版本的加速分支,取消注释第 47 行并告诉我它是如何为您工作的,我将不胜感激。我今天在一个不相关的项目中炸了我的两个 Unos,试图驱动大电流直流电机:-/ |
我为你编译了一个十六进制文件并放在这里:http ://d.pr/G9eL |
没问题,给我几个小时,我会回复你的! |
成功了,我现在以 9600 bps 的速度连接。 好的。这应该可以防止未来的采用者产生任何混淆! |
伟大的! |
泰勒奥德柯克 评论 on 30 Jan 2011
我在 Windows XP SP2 中成功地将grbl_0.51_9600_328p.hex 刷到了我的 Uno 中,如下所示:
但是,我似乎无法使用 Arduino 串行监视器与固件交谈,也无法使用 {xon/xoff,rts/cts,no} 流控制与 Putty 交谈。我从固件中收到一两个垃圾(不可打印)字节,仅此而已。