arduino編譯的結果在哪裡
㈠ 如何使用「ArPilot-Arino-1.0.3-windows」編譯,上傳APM程序
APM飛控程序是開源的,我們可以對某一版本的APM飛控程序進行修改做二次開發。當對APM程序二次開發完成後就要將修改的APM程序編譯上傳到APM飛控板子中。下面就是介紹如何使用「ArPilot-Arino-1.0.3-windows」編譯、上傳APM程序。
1,下載APM飛控程序編譯環境(IDE)--「ArPilot-Arino-1.0.3-windows」,注意不要使用其他版本的Arino編譯環境。
2,下載一個APM飛控程序,例如:ArPlane-2.75。另外「ArPilot-Arino-1.0.3-windows」文件夾與飛控程序文件夾放在一個文件夾中,文件夾的命名最好都是用英文。
3,使用「ArPilot-Arino-1.0.3-windows」時,打開該文件夾,直接雙擊「arino」圖標使用,無需安裝。「ArPilot-Arino-1.0.3-windows」的設置:
tool-->board: Arino mega 2560 or mega ADK;
tool-->programmer: AVRISP mkII
ArPilot-->: HAL board: Arpilot mega 2.X(現在使用的APM2.0-2.5-2.6等)
File-->reference-->Sketchbook 選為要編譯的飛控程序文件夾,每次更改後點OK,並關掉Arino 1.0.3 再打開,這時再選File-->Sketchbook中一項進行編譯。
例如,對File-->Sketchbook中ArPlane進行編譯,點擊工具欄中「對號」圖標開始編譯,沒有錯誤大約1分鍾就能編譯結束。編譯完成之後將APM通過數據線連接到電腦上(編譯時就連接也可以),選擇Board-->serial-port 選擇APM的介面。之後點擊工具欄的「向右箭頭」圖標將編譯好的程序寫進APM,這樣就完成了一次對APM飛控程序的刷新。
現在的APM飛控程序不經刪減,編譯後的大小很容易超過248KB(256KB總內存-8KB的Bootloader佔用內存),當編譯後大於248KB時不能上傳到APM中否則會破壞APM的bootloader.
㈡ 如何在Atom編譯Arino程序和上傳到單片機
如果編譯和上傳分離到不同的機器上執行,可以使用下面方式。
依賴
安裝arino環境
sudo apt-get install arino
編譯
在Arino IDE環境下,寫好源碼程序(以.ino結尾的文件)。然後
Arino -> Preferences ->」Show verbose output ring」選擇」compilation」。點擊編譯,在下方的輸出框最後一行顯示如下內容
/usr/share/arino/hardware/tools/avr/bin/avr-obj -O ihex -R .eeprom /tmp/build355782919138539048.tmp/Blink.cpp.elf /tmp/build355782919138539048.tmp/Blink.cpp.hex
可以得知, 源碼(.ino)編譯後生成的二進制文件為/tmp/build355782919138539048.tmp/Blink.cpp.hex
上傳
把上一步編譯生成的二進制文件上傳到arino控制板上。
/usr/share/arino/hardware/tools/avrde -patmega2560 -cwiring -P/dev/ttyACM0 -b115200 -D -Uflash:w:/tmp/build355782919138539048.tmp/Blink.cpp.hex:i
㈢ arino提示找不到編譯器
最近運睜好多Arino愛好者在拿到Arino控制器後通過Arino IDE下載程序時出現了如下錯誤:」avrde: stk500_getsync(): not in sync: resp=0x00「這個錯誤提示在Arino IDE中是非常常見,這個錯誤代表著就是無法通過USB口與Arino控制器進行通信。
下面我給大家總結下出現這個問題常見的幾個原因
1、Arino控制器或者COM口沒有選對,這種問題最簡單,旁簡歲看下手裡的控制器是什麼型號的如Arino Duemilanove,之後再確認下Arino控制器上晶元的型號,168、328、1280、2560等,確認好這些信息後就可以參照下圖選擇正確的板卡了
Arino IDE板卡選擇
Arino IDE Processor型號選擇
COM口的選擇,接好設備後打開設備管理器,計算機(右鍵)--管理--設備管理器--埠,如下圖
設備管理器查看
Arino IDE COM口選擇
2、下載的時候,Arino控制器串口被佔用,大多數時候是Arino控制器上接了其他擴展板(佔用數字口0,1口的基本都會出問題,這兩個口是用來通信下載程序的)如果接了其他擴展板不能用,可以先拔佔用其串口的設備再次嘗試重新下載程序。
3、bootloader損壞,這種情況下需要重新刷bootloader,我們通常使用的設備是Processor型號,之後旋轉對應的編程器開始燒錄
Arino IDE編程器的選擇
選擇完畢後,點擊燒寫Bootbloder稍等片刻就燒錄完成。
4、驅動未安裝好(目前遇到Ghost版本,或者精簡版win7系統安裝Arino控制器驅動時,無法安裝的問題。這種情況需要重裝系統。ghost版或者精簡版操作系統,請謹慎安裝,後患無窮。)
通過以上4種錯誤原因逐一排查,出現錯誤的問題就迎刃而解了,不過有些時候我們在編寫代碼時就是在一行程序尾端忘記加上分號「;」,然後因為其下一行代碼的不同而產生許多不同的錯誤信息,下面我給大家列舉幾咐棗個我們常見的錯誤。
Arino IDE編寫代碼
在」digitalWrite(led, HIGH)「後面缺少分號!當我們編譯的時候就出現了如下錯誤:
Arino IDE錯誤提示
這種的錯誤提示是比較明確的,還有一種較不明確的錯誤信息:
expected unqualified-id before numeric constant
Arino IDE錯誤提示
雖然造成的錯誤的原因相同,但若是在常數後面缺少分號,則會呈現另外的錯誤信息提示:
Arino IDE錯誤提示
在」int led=13「後面缺少分號時在編譯程序,出現了上述的錯誤!另外還有一種常見的程序錯誤就是拼寫錯誤,其中包括大小寫的問題,例如LedPin就不同於ledPin。
Arino IDE錯誤提示
此外,在使用函數時,參數定義必須正確,例如下面程序代碼:
Arino IDE錯誤提示
而且在Arino IDE游標中會自動指向發生錯誤的那一行程序代碼。還有一個就是在撰寫程序註解時,也要小心錯誤:
Arino IDE錯誤提示
最後建議大家在編寫程序時,可以寫了一小段程序之後就檢查是否能通過Arino IDE編譯,避免當程序過大時,若出現太多編譯錯誤,會變得很難除錯!
㈣ mac系統vs code編譯arino檢測不到設備
需要安裝驅動。
右鍵單擊我的電腦,選屬性在設備管理器一欄中。其他設備中USBSerialPort(一般未識別的硬體設備都有黃色感嘆號),右擊選擇更新驅動然後在需要選文件的地方,找到Arino的編譯軟體下的Drivers文件夾,下一步就可以了。