听起来像你的虚拟串行端口驱动程序在某些超时或缓冲区卡住了。 IDE使用特定的协议调用avrdude,以便与装载在AVR上的Arduino引导程序内置的内容相匹配。还有其他的bootloader(实际上很多,提不上),其中一些可能有不同的时序等,但使用它们基本上不再是Arduino。以查看可能性。\ avrdude.exe -c。
如果您只是试图获取串行端口的转储信息。我用过Virtual Serial Ports Emulator。它的模块化非常灵活,可以让你创建你想要的东西。
另外,正如其他关于此的线程所述,请注意串口上的数据是在STK500 protocol的ontop上格式化的。您还在其他线程中提到您不想使用其他工具来获取数据。而为了使用另一种协议,您需要更改源compiler.java并重建项目,以使用新协议调用avrdude。所以你可以用另一种工具来获得它。看到下面这将回来。
你可以得到原始的二进制文件,从正在馈送到avrdude。因为它可能并不明显。由于avrdude获取ELF不是BIN。 Arduino IDE包含了所有的avr-gcc及其工具。位于。\ Arduino \ hardware \ tools \ avr \ bin中的avr-objcopy可以将集成到avrdude中的IDE输出转换为您可能需要的二进制文件。不需要确定串行端口流的范围。
要做到这一点,您需要通过启用IDE的详细编译打印来找到IDE的临时工作目录。并且可能会将avr-objcopy放在你的路径中。那么只需在下面的示例中调用它,替换您的草图的文件名,而不是我的。
C:\Users\mflaga\AppData\Local\Temp\build6135656488044319492.tmp>avr-objcopy -I ihex FilePlayer.cpp.hex -O binary FilePlayer.cpp.bin
在哪里,你可以与调用都AVRDUDE和AVR-objcopy命令来自动售货机
好,我不想做手工是我的计划将采取.elf和使用批处理文件替换avrdude.exe它来模拟Arduino,所以我的程序有一个体面的用户界面,我不能要求用户复制粘贴他保存草图的地方。所以我需要将代码上传到Arduino上,并且在引导加载程序达到90%的原因时,IDE中的上载进度不会冻结。 – 2013-04-09 19:23:34