1、什么是庫?
庫是個(gè)好東西,,而且是合法的,!如果你需要學(xué)習(xí)如何做某些東西,像修理一輛摩托車,,你可以到當(dāng)?shù)氐膱D書館找一本書,。當(dāng)然你可以買一本,但是圖書館的好處是,,作為一種資源,,可以在任何在你需要的時(shí)候都可以拿來使用,從而保持的你房間整齊,。
軟件庫非常類似,。我們知道什么是過程:一個(gè)過程是一個(gè)要做的事情清單。一個(gè)庫是一個(gè)大的相關(guān)過程的集合,!如果你想控制一個(gè)電機(jī),,你可以找一個(gè)電機(jī)控制庫:一個(gè)已經(jīng)為你寫好的過程的集合,從而可以讓你省去學(xué)習(xí)電機(jī)細(xì)節(jié)的繁瑣工作,。
例如,,這個(gè)一個(gè)串口庫,允許Arduino發(fā)送數(shù)據(jù)到計(jì)算機(jī):
2,、如何使用庫
Arduino 項(xiàng)目一個(gè)最好的特點(diǎn)是可以通過添加第三方面庫來增加對(duì)硬件的支持,。有很多的庫,你可以選擇一個(gè)需要的來安裝,。它們只會(huì)在你需要它們的時(shí)候載入,,目前對(duì)于大多數(shù)的庫你可以下載安裝它們方便將來使用。
程序經(jīng)常會(huì)依賴一些庫,,你可以在代碼的頂端看到它需要什么樣的庫,。如果你看到類似#include<FatReader.h>
那意味著你將需要一個(gè)叫做FatReader的庫或者一個(gè)包含F(xiàn)atReader文件的庫。
如果你沒有安裝你將得到一個(gè)錯(cuò)誤:
3,、庫里有什么,?
庫是一個(gè)包含一些文件在里面的文件夾,這些文件以.cpp (C++ code file) 和 .h (C++ header file)為擴(kuò)展名,。
同樣可能有一些.o 文件,。.o 文件是C++ 編譯過生成的目標(biāo)文件。如果你要對(duì)庫進(jìn)行修改,,確保刪除這些.o 文件,,將會(huì)強(qiáng)制Arduino IED將修改過的.cpp 文件重新編譯成新的.o 文件。
除了兩個(gè)可選的文件,,你還可以看到keywords.txt(這是一個(gè)提示文件用來告訴Arduino IDE 如何對(duì)你的代碼關(guān)鍵字和例子文件夾進(jìn)行著色,。例子文件夾包含一些方便的測(cè)試代碼的,,它們位于File->Examples->Library菜單,如圖所示,。
要記住的重要地方,!
庫文件夾存放的地方是非常重要的!.c 和 .h 文件必須在文件夾里面一層,。例如:你可以這樣Arduino/libraries/WaveHC/WaveHC/file.c 或者 Arduino/libraries/MyLibraries/WaveHC/file.c – 它必須為Arduino/libraries/WaveHC/file.c
4,、如何安裝庫
在Arduino v16 和更早的版本中,庫存放在 ArduinoInstallDirectory/hardware/libraries目錄下,,同樣包含全部的自帶庫(例如Wire和Serial),。
在v17和以后的版本里,用戶庫可以存放在 ArduinoSketchDirectory/libraries 目錄下,。第一次你可能需要?jiǎng)?chuàng)建一個(gè)子文件夾來存放庫文件,。不過這個(gè)的好處是當(dāng)你每次升級(jí)軟件版本時(shí)不需要移動(dòng)和重新安裝庫文件。
例如,,這是當(dāng)NewSoftSerial庫在Windows下安裝好后的樣子(當(dāng)然你的用戶名會(huì)不一樣),。
我使用的是Arduino IDE 1.01版本,用戶庫存放在 Arduino-1.0.1/libraries 目錄下,,與IDE自帶的庫放在一起,,可以在IDE的界面方便的調(diào)用自己添加的庫。不過,,這樣的壞處是當(dāng)你每次升級(jí)軟件版本時(shí)需要移動(dòng)和重新安裝庫文件,。當(dāng)然,你也可以選擇不頻繁的升級(jí)軟件,。
例如,,這是熱電偶冷端補(bǔ)償模塊MAX6675庫在Windows下安裝好后的樣子,如圖所示,。
|