Arduino 語(yǔ)法手冊(cè)(精要版)


Arduino 手冊(cè)(精要版)

關(guān)鍵字:

if

if...else

for

switch case

while

do... while

break

continue

return

goto

語(yǔ)法符號(hào):

;

{}

//

運(yùn)算符:

=

+

-

*

/

%

==

!=

<

>

<=

>=

&&

||

!

++

--

+=

-=

*=

/=

數(shù)據(jù)類型:

boolean? 布爾類型

char

byte? 字節(jié)類型

int

unsigned int

long

unsigned long

float

double

string

array

void

數(shù)據(jù)類型轉(zhuǎn)換:

char()

byte()

int()

long()

float()

常量:

HIGH | LOW? ? 表示數(shù)字IO口的電平焊傅,HIGH 表示高電平(1)搪缨,LOW 表示低電平(0)待错。

INPUT | OUTPUT? 表示數(shù)字IO口的方向诞外,INPUT 表示輸入(高阻態(tài))搭综,OUTPUT? 表示輸出(AVR能提供5V電壓 40mA電流)疮方。

true | false? ? true 表示真(1)充边,false表示假(0)。

以上為基礎(chǔ)c語(yǔ)言的關(guān)鍵字和符號(hào)蘑辑,有c語(yǔ)言基礎(chǔ)的都應(yīng)該了解其含義洋机,這里也不作過(guò)多的解釋。

結(jié)構(gòu)

void setup()? 初始化變量洋魂,管腳模式绷旗,調(diào)用庫(kù)函數(shù)等

void loop()? 連續(xù)執(zhí)行函數(shù)內(nèi)的語(yǔ)句

功能

數(shù)字 I/O

pinMode(pin, mode)? ? 數(shù)字IO口輸入輸出模式定義函數(shù)啄踊,pin表示為0~13, mode表示為INPUT或OUTPUT刁标。

digitalWrite(pin, value)? ? 數(shù)字IO口輸出電平定義函數(shù)颠通,pin表示為0~13,value表示為HIGH或LOW膀懈。比如定義HIGH可以驅(qū)動(dòng)LED顿锰。

int digitalRead(pin)? ? 數(shù)字IO口讀輸入電平函數(shù),pin表示為0~13启搂,value表示為HIGH或LOW硼控。比如可以讀數(shù)字傳感器。

模擬 I/O

int analogRead(pin)? ? 模擬IO口讀函數(shù)胳赌,pin表示為0~5(Arduino Diecimila為0~5牢撼,Arduino nano為0~7)。比如可以讀模擬傳感器(10位AD疑苫,0~5V表示為0~1023)熏版。

analogWrite(pin, value) - PWM? ? 數(shù)字IO口PWM輸出函數(shù),Arduino數(shù)字IO口標(biāo)注了PWM的IO口可使用該函數(shù)捍掺,pin表示3, 5, 6, 9, 10, 11撼短,value表示為0~255。比如可用于電機(jī)PWM調(diào)速或音樂(lè)播放挺勿。

擴(kuò)展 I/O

shiftOut(dataPin, clockPin, bitOrder, value)? ? SPI外部IO擴(kuò)展函數(shù)曲横,通常使用帶SPI接口的74HC595做8個(gè)IO擴(kuò)展,dataPin為數(shù)據(jù)口不瓶,clockPin為時(shí)鐘口禾嫉,bitOrder為數(shù)據(jù)傳輸方向(MSBFIRST高位在前,LSBFIRST低位在前)蚊丐,value表示所要傳送的數(shù)據(jù)(0~255)熙参,另外還需要一個(gè)IO口做74HC595的使能控制。

unsigned long pulseIn(pin, value)? ? 脈沖長(zhǎng)度記錄函數(shù)吠撮,返回時(shí)間參數(shù)(us)尊惰,pin表示為0~13讲竿,value為HIGH或LOW泥兰。比如value為HIGH,那么當(dāng)pin輸入為高電平時(shí)题禀,開(kāi)始計(jì)時(shí)鞋诗,當(dāng)pin輸入為低電平時(shí),停止計(jì)時(shí)迈嘹,然后返回該時(shí)間削彬。

時(shí)間函數(shù)

unsigned long millis()? 返回時(shí)間函數(shù)(單位ms)全庸,該函數(shù)是指,當(dāng)程序運(yùn)行就開(kāi)始計(jì)時(shí)并返回記錄的參數(shù)融痛,該參數(shù)溢出大概需要50天時(shí)間壶笼。

delay(ms)? ? 延時(shí)函數(shù)(單位ms)。

delayMicroseconds(us)? ? 延時(shí)函數(shù)(單位us)雁刷。

數(shù)學(xué)函數(shù)

min(x, y)? 求最小值

max(x, y)? 求最大值

abs(x)? 計(jì)算絕對(duì)值

constrain(x, a, b)? 約束函數(shù)覆劈,下限a,上限b沛励,x必須在ab之間才能返回责语。

map(value, fromLow, fromHigh, toLow, toHigh)? ? 約束函數(shù),value必須在fromLow與toLow之間和fromHigh與toHigh之間目派。

pow(base, exponent)? 開(kāi)方函數(shù)坤候,base的exponent次方。

sq(x)? ? 平方

sqrt(x)? 開(kāi)根號(hào)

三角函數(shù)

sin(rad)

cos(rad)

tan(rad)

隨機(jī)數(shù)函數(shù)

randomSeed(seed)? 隨機(jī)數(shù)端口定義函數(shù)企蹭,seed表示讀模擬口analogRead(pin)函數(shù) 白筹。

long random(max)? 隨機(jī)數(shù)函數(shù),返回?cái)?shù)據(jù)大于等于0谅摄,小于max遍蟋。

long random(min, max)? 隨機(jī)數(shù)函數(shù),返回?cái)?shù)據(jù)大于等于min螟凭,小于max虚青。

外部中斷函數(shù)

attachInterrupt(interrupt, , mode)? ? 外部中斷只能用到數(shù)字IO口2和3,interrupt表示中斷口初始0或1螺男,表示一個(gè)功能函數(shù)棒厘,mode:LOW低電平中斷,CHANGE有變化就中斷下隧,RISING上升沿中斷奢人,F(xiàn)ALLING 下降沿中斷。

detachInterrupt(interrupt)? ? 中斷開(kāi)關(guān)淆院,interrupt=1 開(kāi)何乎,interrupt=0 關(guān)。

中斷使能函數(shù)

interrupts()? 使能中斷

noInterrupts()? 禁止中斷

串口收發(fā)函數(shù)

Serial.begin(speed)? 串口定義波特率函數(shù)土辩,speed表示波特率支救,如9600,19200等拷淘。

int Serial.available()? 判斷緩沖器狀態(tài)各墨。

int Serial.read()? 讀串口并返回收到參數(shù)。

Serial.flush()? ? 清空緩沖器启涯。

Serial.print(data)? 串口輸出數(shù)據(jù)贬堵。

Serial.println(data)? 串口輸出數(shù)據(jù)并帶回車符恃轩。

官方庫(kù)文件

EEPROM - EEPROM讀寫程序庫(kù)

Ethernet - 以太網(wǎng)控制器程序庫(kù)

LiquidCrystal - LCD控制程序庫(kù)

Servo - 舵機(jī)控制程序庫(kù)

SoftwareSerial - 任何數(shù)字IO口模擬串口程序庫(kù)

Stepper - 步進(jìn)電機(jī)控制程序庫(kù)

Wire - TWI/I2C總線程序庫(kù)

Matrix - LED矩陣控制程序庫(kù)

Sprite - LED矩陣圖象處理控制程序庫(kù)

非官方庫(kù)文件

DateTime - a library for keeping track of the current date and time in software.

Debounce - for reading noisy digital inputs (e.g. from buttons)

Firmata - for communicating with applications on the computer using a standard serial protocol.

GLCD - graphics routines for LCD based on the KS0108 or equivalent chipset.

LCD - control LCDs (using 8 data lines)

LCD 4 Bit - control LCDs (using 4 data lines)

LedControl - for controlling LED matrices or seven-segment displays with a MAX7221 or MAX7219.

LedControl - an alternative to the Matrix library for driving multiple LEDs with Maxim chips.

Messenger - for processing text-based messages from the computer

Metro - help you time actions at regular intervals

MsTimer2 - uses the timer 2 interrupt to trigger an action every N milliseconds.

OneWire - control devices (from Dallas Semiconductor) that use the One Wire protocol.

PS2Keyboard - read characters from a PS2 keyboard.

Servo - provides software support for Servo motors on any pins.

Servotimer1 - provides hardware support for Servo motors on pins 9 and 10

Simple Message System - send messages between Arduino and the computer

SSerial2Mobile - send text messages or emails using a cell phone (via AT commands over software serial)

TextString - handle strings

TLC5940 - 16 channel 12 bit PWM controller.

X10 - Sending X10 signals over AC power lines

以上庫(kù)文件都需要下載到編譯環(huán)境(如下目錄:arduino-0011\hardware\libraries)中才能使用。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末黎做,一起剝皮案震驚了整個(gè)濱河市叉跛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蒸殿,老刑警劉巖昧互,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異伟桅,居然都是意外死亡敞掘,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門楣铁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)玖雁,“玉大人,你說(shuō)我怎么就攤上這事盖腕『斩” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵溃列,是天一觀的道長(zhǎng)劲厌。 經(jīng)常有香客問(wèn)我,道長(zhǎng)听隐,這世上最難降的妖魔是什么补鼻? 我笑而不...
    開(kāi)封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮雅任,結(jié)果婚禮上风范,老公的妹妹穿的比我還像新娘。我一直安慰自己沪么,他們只是感情好硼婿,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著禽车,像睡著了一般寇漫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上殉摔,一...
    開(kāi)封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天州胳,我揣著相機(jī)與錄音,去河邊找鬼钦勘。 笑死陋葡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的彻采。 我是一名探鬼主播腐缤,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼肛响!你這毒婦竟也來(lái)了岭粤?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤特笋,失蹤者是張志新(化名)和其女友劉穎剃浇,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體猎物,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡虎囚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蔫磨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片淘讥。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖堤如,靈堂內(nèi)的尸體忽然破棺而出蒲列,到底是詐尸還是另有隱情,我是刑警寧澤搀罢,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布蝗岖,位于F島的核電站,受9級(jí)特大地震影響榔至,放射性物質(zhì)發(fā)生泄漏抵赢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一唧取、第九天 我趴在偏房一處隱蔽的房頂上張望瓣俯。 院中可真熱鬧,春花似錦兵怯、人聲如沸彩匕。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)驼仪。三九已至,卻和暖如春袜漩,著一層夾襖步出監(jiān)牢的瞬間绪爸,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工宙攻, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奠货,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓座掘,卻偏偏與公主長(zhǎng)得像递惋,于是被迫代替她去往敵國(guó)和親柔滔。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容