聽起來像你的虛擬串行端口驅動程序在某些超時或緩衝區卡住了。 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