Arduino常見報錯匯總
概述
在使用Arduino進(jìn)行開發(fā)的過程中,編譯代碼出錯,是比較常見的事情。其實編譯程序,就是讓計算機幫你檢查有沒有錯誤。所有的編譯器如果出錯,下邊都會有錯誤代碼,錯誤出現(xiàn)在哪一行,可以到編譯器的help中找錯誤代碼的意思。這里為大家整理了遇到的Arduino IDE 編譯/上傳出錯的原因。
編譯出錯
1、程序書寫格式/語法有誤
- 如圖所示為大家列舉了一個例子:
(1)缺少程序大括號" } "
(2)程序語句中缺少分號" ; "
2、中英文字符錯誤 Arduino IDE 如果程序中使用中文、標(biāo)點使用中文形式都會產(chǎn)生編譯報錯,只要將中文字符,改為英文字符即可。
- 如圖所示為大家列舉了一個例子:
程序中使用了中文括號"()"
3、語法錯誤 包括結(jié)構(gòu)錯誤,關(guān)鍵詞寫錯等。
- 如圖所示為大家列舉了一個例子:
程序中使用的關(guān)鍵字錯誤
4、庫文件沒有加載
庫文件主要指.cpp & .h兩個文件,分為手動加載(需重啟IDE)和 IDE自動加載(無需重啟)
- 庫文件加載方法
- 如圖所示為大家列舉了一個例子:
首先將 Arduino - libraries 下的 Wire 庫兩個文件刪掉,打開樣例程序,由于沒有庫文件,就會編譯出錯:
將庫文件再次放回到 Arduino 庫文件目錄下,重啟 Arduino IDE 軟件 ,再次編譯該程序,就不會出現(xiàn)報錯信息了。
注意:如果 Arduino 程序編譯出錯,會在下面的編譯欄中出現(xiàn)錯誤提示信息,根據(jù)錯誤提示的信息,我們可以大概知道書寫錯誤的位置 5、庫文件過期 庫文件過期或者創(chuàng)建者雖然用了相同的文件名,但庫文件中的變量定義、功能函數(shù)有所差異,同樣也會導(dǎo)致編譯出錯。這時,可以借用網(wǎng)上開源社區(qū)的資源,Github 是一個不錯的選擇,無需注冊,免費下載。
上傳出錯
1、板子型號或端口選擇錯誤
- 板型選擇錯誤 - 使用的是 Arduino UNO 控制器,但是在板型選擇時誤選了"Arduino Yun",上傳時就會出現(xiàn)錯誤
- 端口選擇錯誤 - 使用的是 Arduino UNO 控制器,但是在端口選擇時,沒有正確的選擇 Arduino UNO 控制器的端口,上傳時同樣會出現(xiàn)錯誤
- 正確選擇端口和板型 - 在軟件工具選項下的 "板"選擇"Arduino UNO","端口"選擇控制器的端口號,這里我的板子端口號是"com22",正確的選擇后就可以成功的將程序上傳了
- 如何查看控制器在電腦中的端口號
我的電腦 - 右鍵 - 管理 - 設(shè)備管理器,可以查看控制器的端口號,如圖所示:
2、串口被占用
使用只有一個串口(USART)的 Arduino 控制器時,串口是連接到了 USB 端口,如果上傳程序時,串口處于被占用的狀態(tài)下,那么程序上傳就會報錯,而且上傳過程消耗的時間,會對比其他程序時間長。我們將占用串口的設(shè)備取下,然后重新進(jìn)行上傳就可以正常上傳了。
3、Arduino 驅(qū)動沒有正確的安裝
如果 Arduino 驅(qū)動沒有正確的安裝,在設(shè)備管理器中不能看到上面圖片中所示的 Arduino 端口,需要重新安裝驅(qū)動才能正常使用
4、軟件選擇的不正確
Arduino 軟件下載的地址有中文官網(wǎng)及英文官網(wǎng),Arduino 一般需要使用 .org 網(wǎng)站下載的 IDE 進(jìn)行程序的上傳,如果在 .cc 網(wǎng)站下載軟件就會出現(xiàn)上傳出錯的情況