從現(xiàn)在開始,我們將開展一些Arduino的知識(shí)學(xué)習(xí),首先我們來研究Arduino的程序結(jié)構(gòu),通過本文的學(xué)習(xí),可以了解更多Arduino世界中使用的新術(shù)語。記住我們的Arduino軟件是開源的,Java environment的源代碼遵循GPL,C/ C++微控制器庫遵循LGPL。
Sketch — 第一個(gè)新術(shù)語是Arduino程序“sketch”。(多翻譯為草圖)
程序結(jié)構(gòu)(Structure)
Arduino程序主要分為三個(gè)部分: 結(jié)構(gòu)(Structure)、值(變量和常量)和函數(shù)。接下來我們將逐步通過使用Arduino IDE程序來了解如何編寫沒有語法或編譯錯(cuò)誤的程序。
我們首先從結(jié)構(gòu)(Structure)開始。軟件結(jié)構(gòu)包括兩個(gè)主要函數(shù),當(dāng)我們打開Arduino IDE程序,新建一個(gè)sketch時(shí),窗口會(huì)默認(rèn)給新sketch添加兩個(gè)函數(shù),分別為 setup() 和 loop() ,它們的具體功能如下:
Setup( )函數(shù): setup()函數(shù)在sketch開始運(yùn)行時(shí)調(diào)用,使用它可以完成初始化變量,pinMode設(shè)定,庫文件引入等等操作。通常情況下,每次開機(jī)或復(fù)位Arduino開發(fā)板后,setup ( ) 函數(shù)只會(huì)運(yùn)行一次。如:
void setup()
{
servo_test.attach(8); // 舵機(jī)信號(hào)腳8
pinMode(8, OUTPUT);
}
在setup()函數(shù)中設(shè)定舵機(jī)控制信號(hào)引腳為8,pinMode 8腳為輸出引腳。源代碼見:制作寵物自動(dòng)喂食器
Loop( )函數(shù):運(yùn)行完setup()函數(shù)后,程序會(huì)循環(huán)運(yùn)行 loop() 函數(shù)中的內(nèi)容,Loop()函數(shù)可以設(shè)置初始值,它精確地連續(xù)循環(huán)執(zhí)行既定操作,Loop里面的代碼是控制Arduino板如何工作的精髓。如:
void loop() {
// 在早上6點(diǎn):
servo_test.write(80); //舵機(jī)旋轉(zhuǎn)80度,打開出口
delay(60000); //出口的打開持續(xù)時(shí)間
servo_test.write(0); // 關(guān)閉
delay(25200000UL); //7小時(shí)后再次打開出口
//下午1點(diǎn):
servo_test.write(80); //舵機(jī)旋轉(zhuǎn)80度,打開出口
delay(60000); //出口的打開持續(xù)時(shí)間
servo_test.write(0); // 關(guān)閉
delay(25200000UL); //7小時(shí)后再次打開出口
// 晚上8點(diǎn):
servo_test.write(80);
delay(60000);
servo_test.write(0);
delay(36000000UL); //10小時(shí)后再次打開出口
}
也就是說,整個(gè)代碼中,我們可以將loop里面的內(nèi)容理解為,loop是我們希望Arduino怎么反復(fù)去完成工作的具體標(biāo)準(zhǔn)和要求。
Arduino的主要程序結(jié)構(gòu)就是這樣,是不是很簡單!下一章將介紹Arduino的數(shù)據(jù)類型。


返回頂部
刷新頁面
下到頁底