“Arduino常見報(bào)錯(cuò)匯總”的版本間的差異

來自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航、 搜索
(以“==概述== 在使用Arduino進(jìn)行開發(fā)的過程中,編譯代碼出錯(cuò),是比較常見的事情。其實(shí)編譯程序,就是讓計(jì)算機(jī)幫你檢查有沒有錯(cuò)...”為內(nèi)容創(chuàng)建頁面)
 
?編譯出錯(cuò)
 
(未顯示1個(gè)用戶的6個(gè)中間版本)
第13行: 第13行:
 
程序中使用了中文括號"()"
 
程序中使用了中文括號"()"
 
[[文件:als03.png|500px|無框|居中]]
 
[[文件:als03.png|500px|無框|居中]]
?
3、語法錯(cuò)誤
+
3、語法錯(cuò)誤<br/>
?
包括結(jié)構(gòu)錯(cuò)誤,關(guān)鍵詞寫錯(cuò)等。
+
包括結(jié)構(gòu)錯(cuò)誤、關(guān)鍵詞寫錯(cuò)、缺少變量的定義
 
* 如圖所示為大家列舉了一個(gè)例子:
 
* 如圖所示為大家列舉了一個(gè)例子:
?
程序中使用的關(guān)鍵字錯(cuò)誤
+
程序中使用的關(guān)鍵字錯(cuò)誤,在 Arduino 中是需要區(qū)分大小寫字母的,也就是說"digitalWrite"與"digitalwrite"是不等同的!
 
[[文件:als04.png|500px|無框|居中]]
 
[[文件:als04.png|500px|無框|居中]]
?
注意:如果 Arduino 程序編譯出錯(cuò),會(huì)在下面的編譯欄中出現(xiàn)錯(cuò)誤提示信息,根據(jù)錯(cuò)誤提示的信息,我們可以大概知道書寫錯(cuò)誤的位置
+
4、注釋錯(cuò)誤<br/>
 +
為了讓程序更容易被讀懂,很多情況下,需要給程序做注釋,這時(shí)一定要注意單行注釋使用符號"//",將注釋的文字與程序隔開;多行注釋使用"/* 注釋文字 */"。如果注釋符號使用有誤也會(huì)導(dǎo)致編譯報(bào)錯(cuò),如圖所示:<br/>
 +
注意:正常的注釋文字在 Arduino IDE 中顯示為灰色
 +
[[文件:als12.png|500px|無框|居中]]
 +
5、庫文件沒有加載
 +
庫文件主要指.cpp & .h兩個(gè)文件,分為手動(dòng)加載(需重啟IDE)和 IDE自動(dòng)加載(無需重啟)<br/>
 +
* [http://www.makerspace.cn/forum.php?mod=viewthread&tid=6647&fromuid=10780 庫文件加載方法]
 +
* 如圖所示為大家列舉了一個(gè)例子:
 +
首先將 Arduino - libraries 下的 Wire 庫兩個(gè)文件刪掉,打開樣例程序,由于沒有庫文件,就會(huì)編譯出錯(cuò):
 +
[[文件:als05.png|500px|無框|居中]]
 +
將庫文件再次放回到 Arduino 庫文件目錄下,重啟 Arduino IDE 軟件 ,再次編譯該程序,就不會(huì)出現(xiàn)報(bào)錯(cuò)信息了。
 +
[[文件:als06.png|500px|無框|居中]]
 +
<big>注意:如果 Arduino 程序編譯出錯(cuò),會(huì)在下面的編譯欄中出現(xiàn)錯(cuò)誤提示信息,根據(jù)錯(cuò)誤提示的信息,我們可以大概知道書寫錯(cuò)誤的位置
 +
</big><br/>
 +
6、庫文件過期<br/>
 +
庫文件過期或者創(chuàng)建者雖然用了相同的文件名,但庫文件中的變量定義、功能函數(shù)有所差異,同樣也會(huì)導(dǎo)致編譯出錯(cuò)。這時(shí),可以借用網(wǎng)上開源社區(qū)的資源,[https://github.com/ Github] 是一個(gè)不錯(cuò)的選擇,無需注冊,免費(fèi)下載。
 +
 
 
==上傳出錯(cuò)==
 
==上傳出錯(cuò)==
 +
1、板子型號或端口選擇錯(cuò)誤<br/>
 +
* 板型選擇錯(cuò)誤 - 使用的是 Arduino UNO 控制器,但是在板型選擇時(shí)誤選了"Arduino Yun",上傳時(shí)就會(huì)出現(xiàn)錯(cuò)誤
 +
[[文件:als07.png|500px|無框|居中]]
 +
* 端口選擇錯(cuò)誤 - 使用的是 Arduino UNO 控制器,但是在端口選擇時(shí),沒有正確的選擇 Arduino UNO 控制器的端口,上傳時(shí)同樣會(huì)出現(xiàn)錯(cuò)誤
 +
[[文件:als08.png|500px|無框|居中]]
 +
* 正確選擇端口和板型 - 在軟件工具選項(xiàng)下的 "板"選擇"Arduino UNO","端口"選擇控制器的端口號,這里我的板子端口號是"com22",正確的選擇后就可以成功的將程序上傳了
 +
[[文件:als09.png|500px|無框|居中]]
 +
* 如何查看控制器在電腦中的端口號
 +
我的電腦 - 右鍵 - 管理 - 設(shè)備管理器,可以查看控制器的端口號,如圖所示:
 +
[[文件:als10.png|500px|無框|居中]]
 +
2、串口被占用<br/>
 +
使用只有一個(gè)串口(USART)的 Arduino 控制器時(shí),串口是連接到了 USB 端口,如果上傳程序時(shí),串口處于被占用的狀態(tài)下,那么程序上傳就會(huì)報(bào)錯(cuò),而且上傳過程消耗的時(shí)間,會(huì)對比其他程序時(shí)間長。我們將占用串口的設(shè)備取下,然后重新進(jìn)行上傳就可以正常上傳了。<br/>
 +
[[文件:als11.png|500px|無框|居中]]
 +
3、Arduino 驅(qū)動(dòng)沒有正確的安裝<br/>
 +
如果 Arduino 驅(qū)動(dòng)沒有正確的安裝,在設(shè)備管理器中不能看到上面圖片中所示的 Arduino 端口,需要重新安裝驅(qū)動(dòng)才能正常使用<br/>
 +
* [http://www.makerspace.cn/forum.php?mod=viewthread&tid=3507&fromuid=10780 Arduino 驅(qū)動(dòng)安裝方法]<br/>
 +
* [http://www.makerspace.cn/forum.php?mod=viewthread&tid=337&extra=page%3D1%26filter%3Dtypeid%26typeid%3D1 Arduino 驅(qū)動(dòng)安裝失敗的解決辦法]<br/>
 +
4、使用的軟件不正確<br/>
 +
Arduino 軟件下載的地址有中文官網(wǎng)及英文官網(wǎng),Arduino 一般需要使用 .org 網(wǎng)站下載的 IDE 進(jìn)行程序的上傳,如果在 .cc 網(wǎng)站下載軟件就會(huì)出現(xiàn)上傳出錯(cuò)的情況<br/>
 +
* 軟件下載地址:http://www.arduino.org.cn/software<br/>
 +
 +
==其他錯(cuò)誤==
 +
1、控制器插上電腦沒有反應(yīng)<br/>
 +
解決方案:<br/>
 +
(1)嘗試更換 USB 連接線<br/>
 +
(2)嘗試更換本電腦的其他 USB 接口或者更換一臺電腦重新插接試驗(yàn)<br/>
 +
2、控制器在設(shè)備管理器中有端口顯示,但是在軟件中卻沒有顯示該端口<br/>
 +
解決方案:<br/>
 +
關(guān)閉軟件、拔掉控制器,再重新連接控制器,打開軟件,看端口中是否出現(xiàn)了設(shè)備管理器中的端口號<br/>
 +
 +
==了解更多==
 +
[[文件:erweima.png|230px|無框|右]]
 +
[http://lifestyle201.com/wiki/index.php/Arduino%E5%85%A5%E9%97%A8%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB Arduino 入門資源匯總]<br/>
 +
[http://www.alsrobot.com.cn/wiki/index.php/Arduino%E5%85%A5%E9%97%A8%E8%B5%84%E6%BA%90%E6%B1%87%E6%80%BB Arduino 入門資源匯總]<br/>
 +
[http://www.makerspace.cn/forum-58-1.html 點(diǎn)擊進(jìn)入更多關(guān)于 Arduino 的有趣應(yīng)用以及介紹]<br/>
 +
 +
看過本教程后,如果您還是不能解決在程序編譯或者上傳過程中產(chǎn)生的問題,請您[http://www.makerspace.cn/forum.php?mod=forumdisplay&fid=77 點(diǎn)擊此處],發(fā)帖提問,我們會(huì)及時(shí)給您做出回復(fù)。

2016年6月12日 (日) 15:01的最后版本

目錄

概述

在使用Arduino進(jìn)行開發(fā)的過程中,編譯代碼出錯(cuò),是比較常見的事情。其實(shí)編譯程序,就是讓計(jì)算機(jī)幫你檢查有沒有錯(cuò)誤。所有的編譯器如果出錯(cuò),下邊都會(huì)有錯(cuò)誤代碼,錯(cuò)誤出現(xiàn)在哪一行,可以到編譯器的help中找錯(cuò)誤代碼的意思。這里為大家整理了遇到的Arduino IDE 編譯/上傳出錯(cuò)的原因。

編譯出錯(cuò)

1、程序書寫格式/語法有誤

  • 如圖所示為大家列舉了一個(gè)例子:

(1)缺少程序大括號" } "

Als01.png

(2)程序語句中缺少分號" ; "

Als02.png

2、中英文字符錯(cuò)誤 Arduino IDE 如果程序中使用中文、標(biāo)點(diǎn)使用中文形式都會(huì)產(chǎn)生編譯報(bào)錯(cuò),只要將中文字符,改為英文字符即可。

  • 如圖所示為大家列舉了一個(gè)例子:

程序中使用了中文括號"()"

Als03.png

3、語法錯(cuò)誤
包括結(jié)構(gòu)錯(cuò)誤、關(guān)鍵詞寫錯(cuò)、缺少變量的定義

  • 如圖所示為大家列舉了一個(gè)例子:

程序中使用的關(guān)鍵字錯(cuò)誤,在 Arduino 中是需要區(qū)分大小寫字母的,也就是說"digitalWrite"與"digitalwrite"是不等同的!

Als04.png

4、注釋錯(cuò)誤
為了讓程序更容易被讀懂,很多情況下,需要給程序做注釋,這時(shí)一定要注意單行注釋使用符號"http://",將注釋的文字與程序隔開;多行注釋使用"/* 注釋文字 */"。如果注釋符號使用有誤也會(huì)導(dǎo)致編譯報(bào)錯(cuò),如圖所示:
注意:正常的注釋文字在 Arduino IDE 中顯示為灰色

Als12.png

5、庫文件沒有加載 庫文件主要指.cpp & .h兩個(gè)文件,分為手動(dòng)加載(需重啟IDE)和 IDE自動(dòng)加載(無需重啟)

首先將 Arduino - libraries 下的 Wire 庫兩個(gè)文件刪掉,打開樣例程序,由于沒有庫文件,就會(huì)編譯出錯(cuò):

Als05.png

將庫文件再次放回到 Arduino 庫文件目錄下,重啟 Arduino IDE 軟件 ,再次編譯該程序,就不會(huì)出現(xiàn)報(bào)錯(cuò)信息了。

Als06.png

注意:如果 Arduino 程序編譯出錯(cuò),會(huì)在下面的編譯欄中出現(xiàn)錯(cuò)誤提示信息,根據(jù)錯(cuò)誤提示的信息,我們可以大概知道書寫錯(cuò)誤的位置
6、庫文件過期
庫文件過期或者創(chuàng)建者雖然用了相同的文件名,但庫文件中的變量定義、功能函數(shù)有所差異,同樣也會(huì)導(dǎo)致編譯出錯(cuò)。這時(shí),可以借用網(wǎng)上開源社區(qū)的資源,Github 是一個(gè)不錯(cuò)的選擇,無需注冊,免費(fèi)下載。

上傳出錯(cuò)

1、板子型號或端口選擇錯(cuò)誤

  • 板型選擇錯(cuò)誤 - 使用的是 Arduino UNO 控制器,但是在板型選擇時(shí)誤選了"Arduino Yun",上傳時(shí)就會(huì)出現(xiàn)錯(cuò)誤
Als07.png
  • 端口選擇錯(cuò)誤 - 使用的是 Arduino UNO 控制器,但是在端口選擇時(shí),沒有正確的選擇 Arduino UNO 控制器的端口,上傳時(shí)同樣會(huì)出現(xiàn)錯(cuò)誤
Als08.png
  • 正確選擇端口和板型 - 在軟件工具選項(xiàng)下的 "板"選擇"Arduino UNO","端口"選擇控制器的端口號,這里我的板子端口號是"com22",正確的選擇后就可以成功的將程序上傳了
Als09.png
  • 如何查看控制器在電腦中的端口號

我的電腦 - 右鍵 - 管理 - 設(shè)備管理器,可以查看控制器的端口號,如圖所示:

Als10.png

2、串口被占用
使用只有一個(gè)串口(USART)的 Arduino 控制器時(shí),串口是連接到了 USB 端口,如果上傳程序時(shí),串口處于被占用的狀態(tài)下,那么程序上傳就會(huì)報(bào)錯(cuò),而且上傳過程消耗的時(shí)間,會(huì)對比其他程序時(shí)間長。我們將占用串口的設(shè)備取下,然后重新進(jìn)行上傳就可以正常上傳了。

Als11.png

3、Arduino 驅(qū)動(dòng)沒有正確的安裝
如果 Arduino 驅(qū)動(dòng)沒有正確的安裝,在設(shè)備管理器中不能看到上面圖片中所示的 Arduino 端口,需要重新安裝驅(qū)動(dòng)才能正常使用

4、使用的軟件不正確
Arduino 軟件下載的地址有中文官網(wǎng)及英文官網(wǎng),Arduino 一般需要使用 .org 網(wǎng)站下載的 IDE 進(jìn)行程序的上傳,如果在 .cc 網(wǎng)站下載軟件就會(huì)出現(xiàn)上傳出錯(cuò)的情況

其他錯(cuò)誤

1、控制器插上電腦沒有反應(yīng)
解決方案:
(1)嘗試更換 USB 連接線
(2)嘗試更換本電腦的其他 USB 接口或者更換一臺電腦重新插接試驗(yàn)
2、控制器在設(shè)備管理器中有端口顯示,但是在軟件中卻沒有顯示該端口
解決方案:
關(guān)閉軟件、拔掉控制器,再重新連接控制器,打開軟件,看端口中是否出現(xiàn)了設(shè)備管理器中的端口號

了解更多

Erweima.png

Arduino 入門資源匯總
Arduino 入門資源匯總
點(diǎn)擊進(jìn)入更多關(guān)于 Arduino 的有趣應(yīng)用以及介紹

看過本教程后,如果您還是不能解決在程序編譯或者上傳過程中產(chǎn)生的問題,請您點(diǎn)擊此處,發(fā)帖提問,我們會(huì)及時(shí)給您做出回復(fù)。